logo

StringBuilder klase Java valodā ar piemēriem

StringBuilder Java valodā apzīmē mainīgu rakstzīmju secību. Tā kā Java virkņu klase rada nemainīgu rakstzīmju secību, StringBuilder klase nodrošina alternatīvu virkņu klasei, jo tā rada mainīgu rakstzīmju secību. StringBuilder funkcija ir ļoti līdzīga klasei StringBuffer, jo abas tās nodrošina alternatīvu String Class, veidojot mainīgu rakstzīmju secību. Tomēr StringBuilder klase atšķiras no StringBuffer klases, pamatojoties uz sinhronizāciju. StringBuilder klase negarantē sinhronizāciju, savukārt StringBuffer klase to nodrošina. Tāpēc šī klase ir paredzēta izmantošanai kā StringBuffer aizstājējs vietās, kur StringBuffer izmantoja viens pavediens (kā tas parasti notiek). Ja iespējams, ieteicams izmantot šo klasi, nevis StringBuffer, jo lielākajā daļā ieviešanu tā būs ātrāka. StringBuilder gadījumi nav droši lietošanai vairākiem pavedieniem. Ja šāda sinhronizācija ir nepieciešama, ieteicams izmantot StringBuffer. String Builder nav vītnes drošs un ar augstu veiktspēju salīdzinājumā ar String buferi.

Klases hierarhija ir šāda:

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

Sintakse:



public final class StringBuilder extends Object implements Serializable, CharSequence>

Konstruktori Java StringBuilder klasē

    StringBuilder(): izveido virkņu veidotāju bez rakstzīmēm un sākotnējā ietilpība ir 16 rakstzīmes. StringBuilder(int jauda): izveido virknes veidotāju bez rakstzīmēm un sākotnējo ietilpību, kas norādīta ar kapacitātes argumentu. StringBuilder(CharSequence secība): izveido virknes veidotāju, kas satur tādas pašas rakstzīmes kā norādītajā CharSequence. StringBuilder(String str): izveido virknes veidotāju, kas inicializēts atbilstoši norādītās virknes saturam.

Zemāk ir programmas paraugs, lai ilustrētu 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());> >}> }>

>

java slēdža futrālis
>

Izvade

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

Metodes programmā Java StringBuilder

StringBuilder pievienošana(X x) : šī metode secībai pievieno X tipa argumenta virknes attēlojumu.

  1. StringBuilder appendCodePoint(int codePoint) : šī metode šai secībai pievieno argumenta codePoint virknes attēlojumu.
  2. iekšējā jauda () : šī metode atgriež pašreizējo jaudu.
  3. char charAt(int index) : šī metode atgriež char vērtību šajā secībā norādītajā indeksā.
  4. IntStream chars() : šī metode atgriež int nulles straumi, paplašinot char vērtības no šīs secības.
  5. int kodsPointAt(int index) : šī metode atgriež rakstzīmi (unikoda koda punktu) norādītajā indeksā.
  6. int kodsPunkts Pirms(int indekss) : šī metode atgriež rakstzīmi (unikoda koda punktu) pirms norādītā indeksa.
  7. int kodsPunktu skaits(int sākumIndekss, int endIndex) : šī metode atgriež unikoda koda punktu skaitu norādītajā šīs secības teksta diapazonā.
  8. IntStream codePoints() : šī metode atgriež koda punktu vērtību straumi no šīs secības.
  9. StringBuilder dzēšana(int sākums, iekšējais beigas) : šī metode noņem rakstzīmes šīs secības apakšvirknē.
  10. StringBuilder deleteCharAt(int index) : šī metode noņem rakstzīmi šajā secībā norādītajā vietā.
  11. tukšums nodrošinātCapacity (int minimumCapacity) : Šī metode nodrošina, ka jauda ir vismaz vienāda ar norādīto minimumu.
  12. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) : šīs metodes rakstzīmes tiek kopētas no šīs secības mērķa rakstzīmju masīvā dst.
  13. int indexOf() : šī metode atgriež indeksu šajā virknē, kas norādīta norādītās apakšvirknes pirmo reizi.
  14. StringBuilder insert(int offset, Būla b) : šī metode ievieto šajā secībā Būla alternatīvā argumenta virknes attēlojumu. StringBuilder insert() : šī metode šajā secībā ievieto char argumenta virknes attēlojumu.
  15. int lastIndexOf() : šī metode atgriež indeksu šajā virknē, kurā ir norādītā apakšvirkne pēdējā reize.
  16. int garums () : šī metode atgriež garumu (rakstzīmju skaitu).
  17. int offsetByCodePoints(int indekss, int codePointOffset) : šī metode atgriež indeksu šajā secībā, kas ir nobīdīts no norādītā indeksa ar koda nobīdes koda punktiem.
  18. StringBuilder aizstāšana(int sākums, iekšējais beigas, String str) : šī metode šīs secības apakšvirknes rakstzīmes aizstāj ar rakstzīmēm norādītajā virknē.
  19. StringBuilder reverse() : Izmantojot šo metodi, šī rakstzīmju secība tiek aizstāta ar secības pretējo.
  20. void setCharAt(index, char ch) : Izmantojot šo metodi, rakstzīme norādītajā indeksā ir iestatīta uz ch.
  21. nevar iestatīt garumu (int newLength) : šī metode iestata rakstzīmju secības garumu.
  22. CharSequence apakšsekvence (int sākums, iekšējais beigas) : šī metode atgriež jaunu rakstzīmju secību, kas ir šīs secības apakšsecība.
  23. Virknes apakšvirkne() : šī metode atgriež jaunu virkni, kas satur rakstzīmju apakšsecību, kas pašlaik atrodas šajā rakstzīmju secībā.
  24. String toString() : šī metode atgriež virkni, kas attēlo datus šajā secībā.
  25. tukšs trimToSize() : šī metode mēģina samazināt krātuvi, kas tiek izmantota rakstzīmju secībai.

Piemērs:

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

>

java string concat

>

Izvade

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

StringBuilder ir vēl viena Java klase, ko izmanto, lai manipulētu ar virknēm. Tāpat kā StringBuffer, tā ir mainīga klase, kas ļauj mainīt tās pārstāvētās virknes saturu. Tomēr StringBuilder nav vītnes drošs, tāpēc to nevajadzētu izmantot vairāku pavedienu vidē.

Šeit ir daži piemēri, kā izmantot StringBuilder Java:

Java




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

>

maven instalēt
>

Izvade

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