String์ ๋ถ๋ณ์ฑ์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ๋ณํ์ง ์๋ ๋ฌธ์์ด์ ์์ฃผ ์ฝ์ด๋ค์ด๋ ๊ฒฝ์ฐ String์ ์ฌ์ฉํด ์ฃผ์๋ฉด ์ข์ ์ฑ๋ฅ์ ๊ธฐ๋ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์์ด ์ถ๊ฐ,์์ ,์ญ์ ๋ฑ์ ์ฐ์ฐ์ด ๋น๋ฒํ๊ฒ ๋ฐ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ String ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ ๋ฉ๋ชจ๋ฆฌ(Heap)์ ๋ง์ ์์ ๊ฐ๋น์ง(Garbage)๊ฐ ์์ฑ๋์ด ํ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑ์ผ๋ก ์ดํ๋ฆฌ์ผ์ด์
์ฑ๋ฅ์ ์น๋ช
์ ์ธ ์ํฅ์ ๋ผ์น๊ฒ ๋ฉ๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Java์์๋ ๊ฐ๋ณ(mutable)์ฑ์ ๊ฐ์ง๋ StringBuffer / StringBuilder ํด๋์ค๋ฅผ ๋์
ํ์ต๋๋ค.
String ๊ณผ๋ ๋ฐ๋๋ก StringBuffer/StringBuilder ๋ ๊ฐ๋ณ์ฑ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ .append() .delete() ๋ฑ์ API๋ฅผ ์ด์ฉํ์ฌ ๋์ผ ๊ฐ์ฒด๋ด์์ ๋ฌธ์์ด์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ฐ๋ผ์ ๋ฌธ์์ด์ ์ถ๊ฐ,์์ ,์ญ์ ๊ฐ ๋น๋ฒํ๊ฒ ๋ฐ์ํ ๊ฒฝ์ฐ๋ผ๋ฉด String ํด๋์ค๊ฐ ์๋ StringBuffer/StringBuilder๋ฅผ ์ฌ์ฉํ์ ์ผ ํฉ๋๋ค.
StringBuffer sb= new StringBuffer("hello");
sb.append(" world");
System.out.println(sb.toString());
//๊ฒฐ๊ณผ
hello world
String : ๋ฌธ์์ด ์ฐ์ฐ์ด ์ ๊ณ ๋ฉํฐ์ฐ๋ ๋ ํ๊ฒฝ์ผ ๊ฒฝ์ฐ
StringBuffer : ๋ฌธ์์ด ์ฐ์ฐ์ด ๋ง๊ณ ๋ฉํฐ์ฐ๋ ๋ ํ๊ฒฝ์ผ ๊ฒฝ์ฐ
StringBuilder : ๋ฌธ์์ด ์ฐ์ฐ์ด ๋ง๊ณ ๋จ์ผ์ฐ๋ ๋์ด๊ฑฐ๋ ๋๊ธฐํ๋ฅผ ๊ณ ๋ คํ์ง ์์๋ ๋๋ ๊ฒฝ์ฐ
'Algorithm > Data Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] int ํ(Primitive type)๋ฐฐ์ด์ List๋ก + ๋ด๋ฆผ์ฐจ์( Stream ์ฌ์ฉ) (0) | 2022.11.22 |
---|---|
[Java] ์๋ฐ์ ๋ฐ์ดํฐ ํ์ (primitive type, reference type) (0) | 2022.11.22 |
[Python] ํ ์๋ฃ๊ตฌ์กฐ / ํํ(heapq) (0) | 2022.09.19 |
Python Deque(Double-Ended Queue) + Stack, Queue ๊ฐ๋จ๊ฐ๋ (0) | 2021.12.23 |
Arrays.sort ( ์ฌ์ ์์๋๋ก ์ ๋ ฌํด์ฃผ๋ ๋ฉ์๋) (0) | 2021.10.25 |