String class 3 - String μ΅μ ν
String μμ±νΈ : String class 1 - String μμ±
String μ°κ²°νΈ : String class 2 - String μ°κ²°
π String μ°κ²°νΈ : String class 3 - String μ΅μ ν π
+ μ°μ°μ
concat()
StringBuffer
StringBuilder
int num = 10000 ;
String output = "" ;
long before = System .currentTimeMillis ();
for (int i = 0 ; i < num ; i ++) {
output += "a" ;
}
long after = System .currentTimeMillis ();
System .out .println (after - before );
μ΄ν μ½λμμλ μκ° μΈ‘μ /κ³μ° μ½λλ₯Ό μλ΅νλ€.
int num = 10000 ;
String output = "" ;
for (int i = 0 ; i < num ; i ++) {
output = output .concat ("a" );
}
int num = 10000 ;
StringBuffer output = new StringBuffer ();
for (int i = 0 ; i < num ; i ++) {
output .append ("a" );
}
int num = 10000 ;
StringBuilder output = new StringBuilder ();
for (int i = 0 ; i < num ; i ++) {
output .append ("a" );
}
Loop
+
concat()
StringBuffer
StringBuilder
100
15
0
0
0
1000
18
0
1
0
10000
39
17
2
1
100000
767
736
7
6
1000000
43922
56982
20
18
+ μ°μ°μμ StringBuilderμ μ±λ₯μ μ°μ° νμκ° λμ΄λ μλ‘ μμ²λ μ°¨μ΄λ₯Ό 보μΈλ€.
λ¬Έμμ΄ μ°κ²° μμλ μ±λ₯μ μ κ²½μΈ κ².
κ°λ¨ν μ°μ°μλ + μ°μ°μκ° κ°νΈν μ μλ€.
μ±λ₯μ΄ κ±±μ λ λλ + μ°μ°μ λμ StringBuilder.append() μ¬μ©ν κ².
μ±
βμ΄νν°λΈ μλ° 2νβ κ·μΉ 51. λ¬Έμμ΄ μ°κ²° μ μ±λ₯μ μ£ΌμνλΌ - μ‘°μμ λΈλ‘ν¬ μ§μ, μΈμ¬μ΄νΈ