Je me suis toujours souvenu qu'il était plus rapide de faire une concaténation de caractères de type String avec l'ajout de StringBuilder de mon supérieur sur le site précédent, mais le livre de référence que j'étudie maintenant le mentionne également. Je voulais donc m'entraîner à la vitesse réelle.
stringBuilderTest.java
public class StringBuilderTest {
public static void main(String[] args) {
String name = "";
long start = System.currentTimeMillis();
for(int i=1; i<=1000; i++){
name += "tanaka, ";
};
long end = System.currentTimeMillis();
System.out.println("+Mise en relation: "+(end - start) + "ms");
StringBuilder sb = new StringBuilder();
long start2 = System.currentTimeMillis();
for(int i=1; i<=400000; i++){
sb.append("tanaka, ");
};
String name2 = sb.toString();
long end2 = System.currentTimeMillis();
System.out.println("StringBuilder.ajouter une concaténation: "+(end2 - start2) + "ms");
}
}
résultat.java
+Mise en relation: 24ms
StringBuilder.ajouter une concaténation: 27ms
Comme vous pouvez le voir d'après le nombre de fois où l'instruction for est tournée, il faut 24ms
pour s'exécuter 1000 fois pour la concaténation avec +, et la concaténation d'ajout est exécutée 400000 fois avec 27ms
.
Même si vous ne l'exécutez que quelques fois, il convient de rappeler que le site précédent a également converti l'instruction for en unités de 10000.