Item 63. String Concat
๋ฌธ์์ด ์ฐ๊ฒฐ์ ๋๋ฆฌ๋ ์ฃผ์ํด์ ์ฌ์ฉํ๋ผ
+
์ ์ฌ์ฉํ์ฌ ํธ๋ฆฌํ๊ฒ ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์ ํ ์ ์๋๋ฐ, ์ด ์ฐ์ฐ ์์ฒด๊ฐ ํฐ ์ฑ๋ฅ ์ ํ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
๋ฌธ์์ด์ ๋ถ๋ณ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ๋ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ ๊ฒฝ์ฐ ๋ ๋ฌธ์์ด์ ๋ณต์ฌํ ํ ์๋ก์ด ๋ฌธ์์ด์ ์์ฑํ๊ธฐ ๋๋ฌธ์ n
๊ฐ์ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ ๊ฒฝ์ฐ n^2
์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
StringBuilder ์ฌ์ฉ
์์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด StringBuilder
๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
class Example {
public String statementWithString() {
String result = "";
for (int i = 0; i < numItems(); i++) {
result += lineForItem(i);
}
return result;
}
public String statementWithStringBuilder() {
StringBuilder sb = new StringBuilder(numItems() * LINE_WIDTH); // ์ ์ ํ ํฌ๊ธฐ๋ก ์ด๊ธฐํํ๋ฉด ๋ ๋น ๋ฅด๋ค
for (int i = 0; i < numItems(); i++) {
sb.append(lineForItem(i));
}
return sb.toString();
}
}
์ฌ์ฉํ๋๋ผ๋ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ
์ ์ค๋ช ๊ณผ ๊ฐ์ ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ์ง๋ง ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ ์ฌ์ฉํ๋๋ผ๋ ํฐ ๋ฌธ์ ๊ฐ ์๋ค.
ํ ์ค์ง๋ฆฌ ์ถ๋ ฅ๊ฐ
์๊ณ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋ ๊ฐ์ฒด์ ๋ฌธ์์ด ํํ
Last updated
Was this helpful?