JavaRush /Java Blogu /Random-AZ /Praktik bir nümunə ilə Java 8-də StringBuilder sinfi
Нина Можарская
Səviyyə
Киев

Praktik bir nümunə ilə Java 8-də StringBuilder sinfi

Qrupda dərc edilmişdir
Sinif Stringdəyişməz sətirlər yaradır. Bu o deməkdir ki, sətirə hər hansı əməliyyat və ya sətirə əməliyyat tətbiq etsəniz, nəticə yeni sətir olacaq. Bu yeni sətir hər hansı dəyişənə təyin edilməzsə, əməliyyatın nəticəsi itiriləcək. Müvafiq olaraq, belə sətirlər üzərində əməliyyatlar mütləq yeni sətirin yaradılmasına gətirib çıxarır. Bu isə əlavə yaddaş və prosessor vaxtı xərcləri deməkdir. Bir sətirdə çoxlu əməliyyatlar varsa, sinif tərəfindən həyata keçirilən dinamik sətirlərdən istifadə etmək çox vaxt daha səmərəlidir StringBuilder.
Praktik nümunə ilə Java 8-də StringBuilder sinfi - 1
Aşağıdakı kodu nəzərdən keçirin:
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
   s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
Yuxarıdakı kod eyni problemi həll edir. Verilmiş sətirə 100 yeni alt sətir əlavə etdikdə. Birinci misal bu məqsəd üçün sinifdən istifadə edir String, bu o qədər də səmərəli deyil, çünki alt sətirin hər əlavə edilməsi yeni obyektin qurulmasına gətirib çıxarır String. Bu isə əlavə yaddaş və vaxt itkisidir. İkinci misalda bu problem sinifdən istifadə etməklə həll olunur StringBuilder. Biz əvvəlcədən sinif obyektini yaradırıq StringBuildervə sonra metoddan istifadə edərək appendyaradılmış obyektin məzmununu dəyişdirərək StringBuilder, lakin obyektin özünü yenidən yaratmadan bizə lazım olan sətri formalaşdırırıq.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION