logo

StringBuilder-klasse in Java met voorbeelden

StringBuilder in Java vertegenwoordigt een veranderlijke reeks karakters. Omdat de String Class in Java een onveranderlijke reeks tekens creëert, biedt de klasse StringBuilder een alternatief voor de String Class, omdat deze een veranderlijke reeks tekens creëert. De functie van StringBuilder lijkt sterk op de klasse StringBuffer, omdat beide een alternatief bieden voor String Class door een veranderlijke reeks tekens te maken. De klasse StringBuilder verschilt echter van de klasse StringBuffer op basis van synchronisatie. De klasse StringBuilder biedt geen garantie voor synchronisatie, terwijl de klasse StringBuffer dat wel doet. Daarom is deze klasse ontworpen voor gebruik als drop-in vervanging voor StringBuffer op plaatsen waar de StringBuffer werd gebruikt door een enkele thread (zoals meestal het geval is). Waar mogelijk wordt aanbevolen deze klasse te gebruiken in plaats van StringBuffer, omdat deze bij de meeste implementaties sneller zal zijn. Instanties van StringBuilder zijn niet veilig voor gebruik door meerdere threads. Als een dergelijke synchronisatie vereist is, wordt aanbevolen StringBuffer te gebruiken. String Builder is niet thread-safe en levert hoge prestaties in vergelijking met String-buffer.

De klassenhiërarchie is als volgt:

java.lang.Object ↳ java.lang ↳ Class StringBuilder>

Syntaxis:



public final class StringBuilder extends Object implements Serializable, CharSequence>

Constructors in de Java StringBuilder-klasse

    StringBuilder(): Construeert een stringbuilder zonder tekens en met een initiële capaciteit van 16 tekens. StringBuilder(int capaciteit): Construeert een stringbuilder zonder tekens en met een initiële capaciteit gespecificeerd door het capaciteitsargument. StringBuilder(CharSequence seq): Construeert een tekenreeksbuilder die dezelfde tekens bevat als de opgegeven CharSequence. StringBuilder(String str): Construeert een tekenreeksbuilder die is geïnitialiseerd op basis van de inhoud van de opgegeven tekenreeks.

Hieronder vindt u een voorbeeldprogramma om StringBuilder in Java te illustreren.

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());> >}> }>

>

>

Uitvoer

String = GFG String1 = AAAABBBCCCC String2 capacity = 10 String3 = AAAABBBCCCC>

Methoden in Java StringBuilder

StringBuilder toevoegen(X x) : Deze methode voegt de tekenreeksrepresentatie van het X-type argument toe aan de reeks.

  1. StringBuilder appendCodePoint(int codePunt) : Deze methode voegt de tekenreeksrepresentatie van het codePoint-argument toe aan deze reeks.
  2. int-capaciteit() : Deze methode retourneert de huidige capaciteit.
  3. char charAt(int-index) : deze methode retourneert de char-waarde in deze reeks bij de opgegeven index.
  4. IntStream chars() : Deze methode retourneert een stroom int nul, waarbij de char-waarden uit deze reeks worden uitgebreid.
  5. int codePointAt(int-index) : deze methode retourneert het teken (Unicode-codepunt) op de opgegeven index.
  6. int codePointBefore(int-index) : deze methode retourneert het teken (Unicode-codepunt) vóór de opgegeven index.
  7. int codePointCount(int beginIndex, int endIndex) : deze methode retourneert het aantal Unicode-codepunten in het opgegeven tekstbereik van deze reeks.
  8. IntStream codePoints() : Deze methode retourneert een stroom codepuntwaarden uit deze reeks.
  9. StringBuilder verwijderen (int start, int end) : Deze methode verwijdert de tekens in een subtekenreeks van deze reeks.
  10. StringBuilder deleteCharAt(int index) : Deze methode verwijdert het teken op de opgegeven positie in deze reeks.
  11. void sureCapacity(int minimumCapaciteit) : Deze methode zorgt ervoor dat de capaciteit minimaal gelijk is aan het opgegeven minimum.
  12. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) : Deze methodetekens worden uit deze reeks gekopieerd naar de bestemmingstekenreeks dst.
  13. int indexOf() : Deze methode retourneert de index binnen deze tekenreeks van de eerste keer dat de opgegeven subtekenreeks voorkomt.
  14. StringBuilder insert(int offset, boolean b) : Deze methode voegt de tekenreeksrepresentatie van het booleaanse alternatieve argument in deze reeks in. StringBuilder insert() : Deze methode voegt de tekenreeksrepresentatie van het char-argument in deze reeks in.
  15. int laatsteIndexOf() : Deze methode retourneert de index binnen deze tekenreeks van de laatste keer dat de opgegeven subtekenreeks voorkomt.
  16. int-lengte() : deze methode retourneert de lengte (aantal tekens).
  17. int offsetByCodePoints(int index, int codePointOffset) : deze methode retourneert de index binnen deze reeks die is verschoven ten opzichte van de gegeven index door codePointOffset-codepunten.
  18. StringBuilder vervangen(int start, int end, String str) : Deze methode vervangt de tekens in een substring van deze reeks door tekens in de opgegeven String.
  19. StringBuilder omgekeerde() : Deze methode zorgt ervoor dat deze tekenreeks wordt vervangen door het omgekeerde van de reeks.
  20. void setCharAt(int index, char ch) : Bij deze methode wordt het teken bij de opgegeven index ingesteld op ch.
  21. void setLength(int nieuweLengte) : Met deze methode wordt de lengte van de tekenreeks ingesteld.
  22. CharSequence subSequence(int start, int end) : Deze methode retourneert een nieuwe tekenreeks die een subreeks is van deze reeks.
  23. Tekenreeks-subtekenreeks() : Deze methode retourneert een nieuwe String die een subreeks van tekens bevat die momenteel in deze tekenreeks voorkomen.
  24. Tekenreeks naarString() : Deze methode retourneert een tekenreeks die de gegevens in deze reeks vertegenwoordigt.
  25. void trimToSize() : Deze methode probeert de opslagruimte die voor de tekenreeks wordt gebruikt, te verminderen.

Voorbeeld:

Java


str naar int



// 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);> >}> }>

>

>

Uitvoer

String = AAAABBBCCCC Reverse String = CCCCBBBAAAA Modified StringBuilder = CCCCBBBAAAA, StringBuilder = CCCCBBBAAAA, Capacity of StringBuilder = 27>

StringBuilder is een andere klasse in Java die wordt gebruikt om tekenreeksen te manipuleren. Net als StringBuffer is het een veranderbare klasse waarmee u de inhoud van de tekenreeks die deze vertegenwoordigt, kunt wijzigen. StringBuilder is echter niet thread-safe en mag daarom niet worden gebruikt in een omgeving met meerdere threads.

Hier zijn enkele voorbeelden van het gebruik van StringBuilder in Java:

Java


java converteert char naar string



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'> >}> }>

>

>

Uitvoer

Hello world! Hello beautiful world! !dlrow lufituaeb olleH>