1. String-larni o'zgartirish
Java'da stringlar — bu o'zgarmas ob'yektlar (immutable). Buning sababi, string klassni kuchli optimallashtirib, uni keng qo'llashga imkon yaratishdir. Masalan, HashMap kolleksiyasida kalit sifatida faqat immutable turlarni ishlatishni tavsiya qilinadi.
Lekin ko'pincha dasturchilar uchun String-klassni o'zgartira olish qulay bo'ladi. Har safar metodini chaqirganda yangi podstring yaratmasdan foydalanish mumkin bo'ladi.
Masalan, bizda juda katta string bor va biz uning oxiriga tez-tez nimadir qo'shamiz. Bu holatda hatto belgi kolleksiyasi (ArrayList<Character>) stringlarni qayta yaratish va String turidagi ob'yektlarni birlashtirishdan ko'ra samaraliroq bo'lishi mumkin.
Shu sababdan Java tiliga stringni o'zgartira olish turi ham qo'shildi. Uning nomi StringBuilder.
Ob'yekt yaratish
StringBuilder ob'yektini mavjud string asosida yaratish uchun quyidagi buyruqni bajarish kerak:
StringBuilder nomi = new StringBuilder(string);
Bo'sh o'zgartiriladigan string yaratish uchun quyidagi buyruqdan foydalanish kerak:
StringBuilder nomi = new StringBuilder();
Metodlar ro'yxati
StringBuilder klassi yigirma chamasini foydali metodlarga ega, ulardan eng muhimlari:
| Metod | Tavsif |
|---|---|
|
Berilgan ob'yektni stringga aylantiradi va joriy stringga qo'shadi |
|
Berilgan ob'yektni stringga aylantiradi va joriy stringga qo'shadi |
|
Stringning start..end interval bilan belgilangan qismini berilgan string bilan almashtiradi |
|
Stringdan index raqamli belgini o'chiradi |
|
Stringdan interval bilan belgilanadigan belgilarni o'chiradi |
|
Joriy stringda podstringni qidiradi |
|
Joriy stringda podstringni oxiridan qidiradi |
|
Stringning indeks raqamli belgisini qaytaradi |
|
Stringning interval bilan belgilangan qismini qaytaradi |
|
Stringni teskari o'zgartiradi. |
|
Stringning indeks raqamli belgisini belgilangan belgi bilan almashtiradi |
|
Stringning belgilardagi uzunligini qaytaradi |
Har bir metodning qisqacha tavsifi
2. Metodlar haqida qisqacha tavsif
Stringga qo'shish
O'zgartiriladigan stringga (StringBuilder) nimadir qo'shish uchun append() metodidan foydalanish kerak. Misol:
| Kod | Tavsif |
|---|---|
|
|
Standart stringga aylantirish
StringBuilder ob'yektini String turiga aylantirish uchun shunchaki uning toString() metodini chaqirish kerak. Misol:
| Kod | Ekranga chiqarish |
|---|---|
|
|
Belgini qanday o'chirish mumkin?
O'zgartiriladigan stringdan belgini o'chirish uchun deleteCharAt() metodidan foydalanish kerak. Misol:
| Kod | Ekranga chiqarish |
|---|---|
|
|
Stringning qismini boshqasiga qanday almashtirish mumkin?
Buning uchun replace(int begin, int end, String str) metodi mavjud. Misol:
| Kod | Ekranga chiqarish |
|---|---|
|
|
3. Stringlar bilan ishlashda foydali misollar
Stringni teskari qanday aylantirish mumkin?
Bu operatsiya uchun maxsus metod — reverse() mavjud. Misol:
| Kod | Ekranga chiqarish |
|---|---|
|
|
StringBuffer klassi
Boshqa bir klass bor — StringBuffer — bu StringBuilder klassining analogi, faqat uning metodlari synchronized modifikatoriga ega. Bu StringBuffer ob'ektiga bir vaqtda bir nechta oqimlardan kirish mumkinligini anglatadi.
Lekin u StringBuilderdan sezilarli darajada sekinroq ishlaydi. Bunday klass sizga kerak bo'lishi mumkin, qachonki siz Java Multithreading kvestida ko'p oqimlikni faol o'rganishni boshlaganda.
GO TO FULL VERSION