Générateur de chaînes en Java représente une séquence de caractères mutable. Étant donné que la classe String en Java crée une séquence de caractères immuable, la classe StringBuilder offre une alternative à la classe String, car elle crée une séquence de caractères mutable. La fonction de StringBuilder est très similaire à la classe StringBuffer, car les deux offrent une alternative à la classe String en créant une séquence de caractères mutable. Toutefois, la classe StringBuilder diffère de la classe StringBuffer sur la base de la synchronisation. La classe StringBuilder n'offre aucune garantie de synchronisation contrairement à la classe StringBuffer. Par conséquent, cette classe est conçue pour être utilisée en remplacement de StringBuffer dans les endroits où StringBuffer était utilisé par un seul thread (comme c'est généralement le cas). Dans la mesure du possible, il est recommandé d'utiliser cette classe de préférence à StringBuffer car elle sera plus rapide dans la plupart des implémentations. Les instances de StringBuilder ne peuvent pas être utilisées en toute sécurité par plusieurs threads. Si une telle synchronisation est requise, il est recommandé d'utiliser StringBuffer. String Builder n'est pas thread-safe et offre des performances élevées par rapport au tampon String.
La hiérarchie des classes est la suivante :
convertir la chaîne en entier
java.lang.Object ↳ java.lang ↳ Class StringBuilder>
Syntaxe:
public final class StringBuilder extends Object implements Serializable, CharSequence>
Constructeurs dans la classe Java StringBuilder
- StringBuilder() : construit un générateur de chaînes sans caractères et avec une capacité initiale de 16 caractères. StringBuilder (int capacité) : construit un générateur de chaîne sans caractères et avec une capacité initiale spécifiée par l'argument de capacité. StringBuilder (CharSequence seq) : construit un générateur de chaîne qui contient les mêmes caractères que le CharSequence spécifié. StringBuilder(String str) : construit un générateur de chaîne initialisé avec le contenu de la chaîne spécifiée.
Vous trouverez ci-dessous un exemple de programme pour illustrer StringBuilder en 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());> >}> }> |
map_non ordonné c++
>
>Sortir
String = GFG String1 = AAAABBBCCCC String2 capacity = 10 String3 = AAAABBBCCCC>
Méthodes dans Java StringBuilder
Ajout de StringBuilder (X x) : Cette méthode ajoute la représentation sous forme de chaîne de l'argument de type X à la séquence.
- StringBuilder appendCodePoint (int codePoint) : Cette méthode ajoute la représentation sous forme de chaîne de l'argument codePoint à cette séquence.
- capacité int() : Cette méthode renvoie la capacité actuelle.
- char charAt (index int) : Cette méthode renvoie la valeur char dans cette séquence à l'index spécifié. IntStream chars() : Cette méthode renvoie un flux de int étendant à zéro les valeurs de char de cette séquence.
- int codePointAt (index int) : Cette méthode renvoie le caractère (point de code Unicode) à l'index spécifié.
- int codePointAvant (index int) : Cette méthode renvoie le caractère (point de code Unicode) avant l'index spécifié.
- int codePointCount (int startIndex, int endIndex) : Cette méthode renvoie le nombre de points de code Unicode dans la plage de texte spécifiée de cette séquence. IntStream codePoints() : Cette méthode renvoie un flux de valeurs de points de code à partir de cette séquence.
- StringBuilder supprimer (int début, int fin) : Cette méthode supprime les caractères d'une sous-chaîne de cette séquence. StringBuilder deleteCharAt(int index) : Cette méthode supprime le caractère à la position spécifiée dans cette séquence.
- void assurerCapacity (int minimumCapacity) : Cette méthode garantit que la capacité est au moins égale au minimum spécifié.
- void getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin) : Les caractères de cette méthode sont copiés de cette séquence dans le tableau de caractères de destination dst.
- int indexDe() : Cette méthode renvoie l'index dans cette chaîne de la première occurrence de la sous-chaîne spécifiée. StringBuilder insert(int offset, boolean b) : Cette méthode insère la représentation sous forme de chaîne de l'argument alternatif booléen dans cette séquence. StringBuilder insert() : Cette méthode insère la représentation sous forme de chaîne de l'argument char dans cette séquence.
- int dernierIndexOf() : Cette méthode renvoie l'index dans cette chaîne de la dernière occurrence de la sous-chaîne spécifiée.
- longueur int() : Cette méthode renvoie la longueur (nombre de caractères). int offsetByCodePoints(int index, int codePointOffset) : Cette méthode renvoie l'index dans cette séquence qui est décalé par rapport à l'index donné par les points de code codePointOffset.
- StringBuilder remplacer (int start, int end, String str) : Cette méthode remplace les caractères d'une sous-chaîne de cette séquence par des caractères de la chaîne spécifiée.
- StringBuilder inverse() : Cette méthode provoque le remplacement de cette séquence de caractères par l'inverse de la séquence.
- void setCharAt (int index, char ch) : Dans cette méthode, le caractère à l'index spécifié est défini sur ch.
- void setLength (int newLength) : Cette méthode définit la longueur de la séquence de caractères.
- Sous-séquence CharSequence (int début, int fin) : Cette méthode renvoie une nouvelle séquence de caractères qui est une sous-séquence de cette séquence.
- Sous-chaîne de chaîne() : Cette méthode renvoie une nouvelle chaîne qui contient une sous-séquence de caractères actuellement contenue dans cette séquence de caractères.
- Chaîne versChaîne() : Cette méthode renvoie une chaîne représentant les données de cette séquence.
- annuler trimToSize() : Cette méthode tente de réduire le stockage utilisé pour la séquence de caractères.
Exemple:
Java
qu'est-ce qu'un caractère spécial
// 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);> >}> }> |
>
>Sortir
String = AAAABBBCCCC Reverse String = CCCCBBBAAAA Modified StringBuilder = CCCCBBBAAAA, StringBuilder = CCCCBBBAAAA, Capacity of StringBuilder = 27>
StringBuilder est une autre classe Java utilisée pour manipuler des chaînes. Comme StringBuffer, c'est une classe mutable qui permet de modifier le contenu de la chaîne qu'elle représente. Cependant, StringBuilder n'est pas thread-safe et ne doit donc pas être utilisé dans un environnement multithread.
Voici quelques exemples d’utilisation de StringBuilder en 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'> >}> }> |
>
qu'est-ce que la structure dans la structure des données
>Sortir
Hello world! Hello beautiful world! !dlrow lufituaeb olleH>