JavaRush /Java blogi /Random-UZ /Amaliy misol bilan Java 8 da StringBuilder klassi

Amaliy misol bilan Java 8 da StringBuilder klassi

Guruhda nashr etilgan
Sinf Stringo'zgarmas satrlarni yaratadi. Bu shuni anglatadiki, agar siz satrga biron bir operatsiyani yoki satrga operatsiyani qo'llasangiz, natija yangi satr bo'ladi. Agar ushbu yangi satr hech qanday o'zgaruvchiga tayinlanmagan bo'lsa, operatsiya natijasi yo'qoladi. Shunga ko'ra, bunday satrlar bo'yicha operatsiyalar, albatta, yangi satrning yaratilishiga olib keladi. Va bu qo'shimcha xotira va protsessor vaqtini anglatadi. Agar satrda juda ko'p operatsiyalar mavjud bo'lsa, unda sinf tomonidan amalga oshiriladigan dinamik satrlardan foydalanish ko'pincha samaraliroq bo'ladi StringBuilder.
Java 8 da StringBuilder klassi amaliy misol bilan - 1
Quyidagi kodni ko'rib chiqing:
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);
}
Yuqoridagi kod bir xil muammoni hal qiladi. Berilgan satrga 100 ta yangi pastki qator qo'shganimizda. Birinchi misol, bu maqsad uchun sinfdan foydalanadi String, bu juda samarali emas, chunki har bir pastki qator qo'shilishi yangi ob'ektni qurishga olib keladi String. Va bu qo'shimcha xotira va vaqtni yo'qotishdir. Ikkinchi misolda bu muammo class yordamida hal qilinadi StringBuilder. Biz oldindan sinf ob'ektini yaratamiz StringBuilderva keyin usuldan foydalanib, appendyaratilgan ob'ektning mazmunini o'zgartirish orqali kerakli qatorni hosil qilamiz StringBuilder, lekin ob'ektning o'zini qayta yaratmasdan.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION