[JAVA] Remarque sur StringBuilder

StringBuilder, qui est une chaîne mutable. Il semble être utilisé pour concaténer des chaînes de caractères à grande vitesse. Encore une fois, nous utiliserons la méthode StringBuilder pour apprendre à l'utiliser.

append Vous pouvez utiliser append pour ajouter une chaîne. Vous pouvez ajouter différents types tels que le type booléen, le type char, le type String et le tableau sous forme de chaînes de caractères.

StringBuilder sb = new StringBuilder("Bonjour");

//boolean
boolean bool = true;
System.out.println(sb.append(bool));

//char
char c = 'A';
System.out.println(sb.append(c));


StringBuilder sbr = new StringBuilder("Monsieur A");

//Tableau
String[] str = {"Bonjour","Bonne nuit"};
System.out.println(sbr.append(str[0]));
System.out.println(sbr.append(str[1]));

StringBuilder s = new StringBuilder("Monsieur A");

//int,double,float,long
int i = 100;
double d = 100;
float f = 100;
long l = 100;
System.out.println(s.append(i));
System.out.println(s.append(d));
System.out.println(s.append(f));
System.out.println(s.append(l));
//boolean
Bonjour vrai
//char
Bonjour vrai
//Tableau
Bonjour
Un M. Bonne nuit Bonjour
//int
M. A 100
//double
M. A 100100.0
//float
M. A 100100.0100.0
//long
M. A 100100.0100.0100

charAt(int index) Renvoie la valeur char de l'index spécifié dans cette séquence.

StringBuilder sb = new StringBuilder("ABCDs");

System.out.println(sb.charAt(0));
System.out.println(sb.charAt(2));
System.out.println(sb.charAt(4));
A
C
s

delete(int start, int end) Supprime les caractères de la sous-chaîne de cette séquence. start: index de démarrage (y compris cette valeur). end - Index de fin (sans cette valeur).

StringBuilder sb = new StringBuilder("ABCDs");

sb.delete(1, 3);
System.out.println(sb);
ADs

deleteCharAt(int index) Supprime le caractère à la position spécifiée dans cette séquence.

StringBuilder sb = new StringBuilder("ABCDs");

sb.deleteCharAt(2);
System.out.println(sb.toString());
ABDs

indexOf(String str) Renvoie l'index de la position où la sous-chaîne spécifiée apparaît en premier dans cette chaîne.

StringBuilder sb = new StringBuilder("ABCDs");

System.out.println(sb.indexOf("C"));
System.out.println(sb.indexOf("s"));
2
4

indexOf(String str, int fromIndex) Renvoie l'index de la position où la sous-chaîne spécifiée apparaît en premier dans cette chaîne après l'index spécifié.

StringBuilder sb = new StringBuilder("ABCDsD");

System.out.println(sb.indexOf("D",2));
System.out.println(sb.indexOf("s",0));
3
4

lastIndexOf(String str) Renvoie l'index de la position où la sous-chaîne spécifiée apparaît à l'extrême droite dans cette chaîne.

StringBuilder sb = new StringBuilder("ABCDssD");

System.out.println(sb.lastIndexOf("D"));
System.out.println(sb.lastIndexOf("s"));
6
5

length() Renvoie la longueur (nombre de caractères).

StringBuilder sb = new StringBuilder("ABCDssD");

System.out.println(sb.length());
7

replace(int start, int end, String str) Remplace les caractères de la sous-chaîne de cette séquence par les caractères de la chaîne spécifiée.

StringBuilder sb = new StringBuilder("ABCDssD");

System.out.println(sb.replace(2, 5, "r"));
ABrsD

reverse() Remplacez cette séquence de caractères par l'ordre inverse.

StringBuilder sb = new StringBuilder("ABCDssD");

System.out.println(sb.reverse());
DssDCBA

setCharAt(int index, char ch) Le caractère de l'index spécifié est défini sur ch.

StringBuilder sb = new StringBuilder("ABCDssD");

sb.setCharAt(1, 's');
System.out.println(sb.toString());
AsCDssD

setLength(int newLength) Définit la longueur de la séquence de caractères.

StringBuilder sb = new StringBuilder("ABCDssD");

System.out.println(sb.length());
sb.setLength(20);
System.out.println(sb.length());
7
20

subSequence(int start, int end) Renvoie une nouvelle séquence de caractères qui est une sous-séquence de cette séquence. start: index de démarrage (y compris cette valeur). end - Index de fin (sans cette valeur).

StringBuilder sb = new StringBuilder("ABCDssD");

System.out.println(sb.subSequence(0, 2));
System.out.println(sb.subSequence(4, 5));
AB
s

substring(int start), substring(int start, int end) Renvoie une nouvelle chaîne contenant une séquence partielle de caractères actuellement contenus dans cette séquence de caractères.

StringBuilder sb = new StringBuilder("ABCDssD");

System.out.println(sb.substring(2));
System.out.println(sb.substring(5));

System.out.println(sb.substring(5,6));
System.out.println(sb.substring(0,2));
CDssD
sD

s
AB

insert Insérer la valeur spécifiée dans l'index spécifié

StringBuilder sb = new StringBuilder("ABCDssD");

//0ème'P'Insérer
sb.insert(0, 'P');
System.out.println(sb.toString());
//Insérer 23 dans 8e
sb.insert(8, 23);
System.out.println(sb.toString());
int[] i = {10,20,30,40};
//Insérez l'index 2 de i-array au 0e
sb.insert(0, i[2]);
System.out.println(sb.toString());
PABCDssD
PABCDssD23
30PABCDssD23

capacity() Renvoie la capacité actuelle.

StringBuilder s = new StringBuilder();
//La capacité initiale est de 16 caractères
System.out.println(s.capacity());
//Capacité initiale 16+14 caractères supplémentaires avec une capacité actuelle de 30 caractères
StringBuilder sb = new StringBuilder("ABCDssDAAAAAAA");
System.out.println(sb.capacity());
16
30

trimToSize() Tente de réduire le stockage utilisé dans cette séquence de caractères.

StringBuilder sb = new StringBuilder("A");
//Capacité initiale 16+La capacité actuelle est de 17 caractères avec 1 caractère supplémentaire
System.out.println(sb.capacity());
//16 caractères pour la capacité initiale sont supprimés, 1 caractère
sb.trimToSize();
System.out.println(sb.capacity());

StringBuilder s = new StringBuilder("AAAAAAAAAA");
//Capacité initiale 16+10 caractères supplémentaires avec une capacité actuelle de 26 caractères
System.out.println(s.capacity());
//16 caractères pour la capacité initiale sont supprimés, 10 caractères
s.trimToSize();
System.out.println(s.capacity());
17
1

26
10

Recommended Posts

Remarque sur StringBuilder
Note
Note
[Note] Relatif à SQLite
Mémo d'authentification Firebase