1. Sətirlərin dəyişdirilməsi
Java-da sətirlər dəyişməz obyektlərdir (immutable). Bu, sətir sinfinin güclü optimizasiya olunması və hər yerdə istifadə olunması üçün belə hazırlanıb. Məsələn, HashMap kolleksiyasındakı açar kimi yalnız immutable tipləri istifadə etmək tövsiyə olunur.
Lakin çox vaxt elə vəziyyətlər yaranır ki, proqramçı üçün String
sinfini dəyişə bilmək daha rahat olur. Yəni, hər metod çağırışında yeni alt sətir yaratmayan bir sinif.
Məsələn, bizdə çox böyük bir sətir varsa və biz tez-tez onun sonuna nəsə əlavə edirik. Bu vəziyyətdə hətta simvollar kolleksiyası (ArrayList<Character>
) belə sətirlərin təkrar yaradılmasından və String
tipli obyektlərin birləşdirilməsindən daha effektiv ola bilər.
Məhz bu səbəbdən, Java dilinə String-in dəyişdirilə bilən tipi əlavə edilib. O, StringBuilder
adlanır.
Obyektin yaradılması
Mövcud sətir əsasında StringBuilder
obyektini yaratmaq üçün aşağıdakı əmri yerinə yetirmək lazımdır:
StringBuilder ad = new StringBuilder(sətir);
Boş dəyişdirilə bilən bir sətir yaratmaq üçün aşağıdakı əmrdən istifadə etməlisiniz:
StringBuilder ad = new StringBuilder();
Metodların siyahısı
StringBuilder
sinfinin iki onluq faydalı metodu var, ən vaciblərindən bəziləri bunlardır:
Metod | Təsviri |
---|---|
|
Göndərilən obyekti sətirə çevirir və mövcud sətirə əlavə edir |
|
Göndərilən obyekti sətirə çevirir və mövcud sətirə daxil edir |
|
Start..end intervalı ilə təyin olunan sətir hissəsini göndərilən sətrə dəyişir |
|
Sətirdən index nömrəli simvolu silir |
|
Interval ilə təyin olunan sətir simvollarını silir |
|
Mövcud sətirdə alt sətiri axtarır |
|
Mövcud sətirdə alt sətiri sondan axtarır |
|
Simvolu index ilə qaytarır |
|
Interval ilə təyin olunan alt sətiri qaytarır |
|
Sətiri tərs çevirir. |
|
Simvolu index ilə dəyişir |
|
Sətirin uzunluğunu simvollar ilə qaytarır |
Hər metodun qısa təsviri budur
2. Metodlar haqqında qısa təsvir
Sətirə əlavə etmək
Dəyişilən sətrə (StringBuilder
) bir şey əlavə etmək üçün append()
metodundan istifadə etməlisən. Nümunə:
Kod | Təsvir |
---|---|
|
|
Adı standart sətrə çevirmək
Bir StringBuilder
obyektini String tipli sətrə çevirmək üçün sadəcə toString()
metodunu çağırmaq kifayətdir. Nümunə:
Kod | Ekranda nəticə |
---|---|
|
|
Simvolu necə silmək olar?
Dəyişilən sətrdə simvolu silmək üçün deleteCharAt()
metodundan istifadə etmək lazımdır. Nümunə:
Kod | Ekranda nəticə |
---|---|
|
|
Sətirin bir hissəsini necə dəyişmək olar?
Bunun üçün replace(int begin, int end, String str)
metodu var. Nümunə:
Kod | Ekranda nəticə |
---|---|
|
|
3. Sətirlərlə işləmək üçün faydalı nümunələr
Sətiri necə geriyə çevirmək olar?
Bu əməliyyat üçün xüsusi bir metod var — reverse()
; Nümunə:
Kod | Ekranda çıxış |
---|---|
|
|
StringBuffer
sinfi
Daha bir sinif var — StringBuffer
— bu, StringBuilder
sinfinin analoqudur, sadəcə onun metodlarında synchronized
modifikatoru var. Bu o deməkdir ki, StringBuffer
obyektinə eyni anda bir neçə thread-lə müraciət etmək mümkündür.
Ancaq onun işləməsi StringBuilder
-dən daha yavaşdır. Bu sinif sizə lazım ola bilər, multi-threading haqqında aktiv şəkildə öyrənməyə başladığınız zaman, Java Multithreading missiyasında.
GO TO FULL VERSION