StringBuilder в Java представляє змінну послідовність символів. Оскільки String Class у Java створює незмінну послідовність символів, клас StringBuilder є альтернативою String Class, оскільки він створює змінну послідовність символів. Функція StringBuilder дуже схожа на клас StringBuffer, оскільки обидва вони надають альтернативу String Class, створюючи змінну послідовність символів. Однак клас StringBuilder відрізняється від класу StringBuffer на основі синхронізації. Клас StringBuilder не забезпечує синхронізацію, тоді як клас StringBuffer гарантує синхронізацію. Тому цей клас призначений для використання як заміна StringBuffer у місцях, де StringBuffer використовувався одним потоком (як це зазвичай буває). Якщо це можливо, рекомендується використовувати цей клас замість StringBuffer, оскільки він буде швидшим у більшості реалізацій. Примірники StringBuilder небезпечні для використання кількома потоками. Якщо потрібна така синхронізація, рекомендується використовувати StringBuffer. String Builder не є потоково безпечним і має високу продуктивність порівняно з String buffer.
Ієрархія класів така:
java.lang.Object ↳ java.lang ↳ Class StringBuilder>
Синтаксис:
public final class StringBuilder extends Object implements Serializable, CharSequence>
Конструктори в класі Java StringBuilder
- StringBuilder(): створює конструктор рядків без символів із початковою ємністю 16 символів. StringBuilder(int ємність): створює конструктор рядків без символів і початковою ємністю, визначеною аргументом ємності. StringBuilder(CharSequence seq): створює конструктор рядків, який містить ті самі символи, що й указана CharSequence. StringBuilder(String str): створює конструктор рядків, ініціалізований вмістом зазначеного рядка.
Нижче наведено приклад програми для ілюстрації StringBuilder у Java.
Java
Діана Мері Блекер
// Java Code to illustrate StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)>throws> Exception> >{> >// Create a StringBuilder object> >// using StringBuilder() constructor> >StringBuilder str =>new> StringBuilder();> >str.append(>'GFG'>);> >// print string> >System.out.println(>'String = '> + str.toString());> >// create a StringBuilder object> >// using StringBuilder(CharSequence) constructor> >StringBuilder str1> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String1 = '> + str1.toString());> >// create a StringBuilder object> >// using StringBuilder(capacity) constructor> >StringBuilder str2 =>new> StringBuilder(>10>);> >// print string> >System.out.println(>'String2 capacity = '> >+ str2.capacity());> >// create a StringBuilder object> >// using StringBuilder(String) constructor> >StringBuilder str3> >=>new> StringBuilder(str1.toString());> >// print string> >System.out.println(>'String3 = '> + str3.toString());> >}> }> |
np.argmax
>
>Вихід
String = GFG String1 = AAAABBBCCCC String2 capacity = 10 String3 = AAAABBBCCCC>
Методи в Java StringBuilder
StringBuilder append(X x) : Цей метод додає рядкове представлення аргументу типу X до послідовності.
- StringBuilder appendCodePoint(int codePoint) : Цей метод додає рядкове представлення аргументу codePoint до цієї послідовності.
- int capacity() : Цей метод повертає поточну ємність.
- char charAt(індекс індексу) : Цей метод повертає значення char у цій послідовності за вказаним індексом. IntStream chars() : цей метод повертає потік int zero, розширюючи значення char із цієї послідовності.
- int codePointAt(int index) : Цей метод повертає символ (кодова точка Unicode) за вказаним індексом.
- int codePointBefore(int індекс) : Цей метод повертає символ (код Юнікоду) перед указаним індексом.
- int codePointCount(int beginIndex, int endIndex) : Цей метод повертає кількість кодових точок Unicode у вказаному текстовому діапазоні цієї послідовності. IntStream codePoints() : цей метод повертає потік значень кодових точок із цієї послідовності.
- Видалення StringBuilder (int початок, int кінець) : Цей метод видаляє символи в підрядку цієї послідовності. StringBuilder deleteCharAt(int index) : цей метод видаляє символ у вказаній позиції в цій послідовності.
- void secureCapacity(int minimumCapacity) : Цей метод гарантує, що ємність принаймні дорівнює зазначеному мінімуму.
- void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) : символи цього методу копіюються з цієї послідовності в цільовий масив символів dst.
- int indexOf() : Цей метод повертає індекс у цьому рядку першого входження зазначеного підрядка. StringBuilder insert(int offset, boolean b) : цей метод вставляє рядкове представлення логічного альтернативного аргументу в цю послідовність. StringBuilder insert() : цей метод вставляє рядкове представлення аргументу char у цю послідовність.
- int lastIndexOf() : Цей метод повертає індекс у цьому рядку останнього входження зазначеного підрядка.
- int length() : Цей метод повертає довжину (кількість символів). int offsetByCodePoints(int index, int codePointOffset) : цей метод повертає індекс у цій послідовності, який зсувається відносно заданого індексу на кодові точки codePointOffset.
- StringBuilder замінити (int початок, int кінець, String str) : Цей метод замінює символи в підрядку цієї послідовності на символи в указаному рядку.
- StringBuilder reverse() : Цей метод змушує цю послідовність символів замінюватися на зворотну послідовність.
- void setCharAt(int index, char ch) : у цьому методі символ із вказаним індексом встановлюється на ch.
- void setLength(int newLength) : Цей метод встановлює довжину послідовності символів.
- CharSequence subSequence(int початок, int кінець) : Цей метод повертає нову послідовність символів, яка є підпослідовністю цієї послідовності.
- Рядок substring() : Цей метод повертає новий рядок, який містить підпослідовність символів, які наразі містяться в цій послідовності символів.
- String toString() : Цей метод повертає рядок, що представляє дані в цій послідовності.
- void trimToSize() : Цей метод намагається зменшити обсяг пам’яті, який використовується для послідовності символів.
приклад:
Java
типи даних продовження
// Java code to illustrate> // methods of StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)> >throws> Exception> >{> >// create a StringBuilder object> >// with a String pass as parameter> >StringBuilder str> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String = '> >+ str.toString());> >// reverse the string> >StringBuilder reverseStr = str.reverse();> >// print string> >System.out.println(>'Reverse String = '> >+ reverseStr.toString());> >// Append ', '(44) to the String> >str.appendCodePoint(>44>);> >// Print the modified String> >System.out.println(>'Modified StringBuilder = '> >+ str);> >// get capacity> >int> capacity = str.capacity();> >// print the result> >System.out.println(>'StringBuilder = '> + str);> >System.out.println(>'Capacity of StringBuilder = '> >+ capacity);> >}> }> |
>
>
рядок як масивВихід
String = AAAABBBCCCC Reverse String = CCCCBBBAAAA Modified StringBuilder = CCCCBBBAAAA, StringBuilder = CCCCBBBAAAA, Capacity of StringBuilder = 27>
StringBuilder — ще один клас у Java, який використовується для маніпулювання рядками. Як і StringBuffer, це змінний клас, який дозволяє вам змінювати вміст рядка, який він представляє. Однак StringBuilder не є потокобезпечним, тому його не слід використовувати в багатопоточному середовищі.
Ось кілька прикладів використання StringBuilder у Java:
Java
коментар css
public> class> StringBuilderExample {> >public> static> void> main(String[] args) {> >StringBuilder sb =>new> StringBuilder();> >sb.append(>'Hello'>);> >sb.append(>' '>);> >sb.append(>'world!'>);> >System.out.println(sb.toString());>// Output: 'Hello world!'> > >sb.insert(>6>,>'beautiful '>);> >System.out.println(sb.toString());>// Output: 'Hello beautiful world!'> > >sb.reverse();> >System.out.println(sb.toString());>// Output: '!dlrow lufituaeb olleH'> >}> }> |
>
>Вихід
Hello world! Hello beautiful world! !dlrow lufituaeb olleH>