1. ๋ฌธ์์ด ์์
Java์์ ๋ฌธ์์ด์ ๋ถ๋ณ ๊ฐ์ฒด์ ๋๋ค. ์ด๋ String ํด๋์ค๋ฅผ ๊ณ ๋๋ก ์ต์ ํํ๊ณ ๋ชจ๋ ๊ณณ์์ ์ฌ์ฉํ ์ ์๋๋ก ํ๊ธฐ ์ํด ์ํ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด HashMap ์ปฌ๋ ์ ์ ํค๋ก ์ฌ์ฉํ ๋๋ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ ํ๋ง ๊ถ์ฅ๋ฉ๋๋ค .
๊ทธ๋ฌ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ํด๋์ค๋ฅผ String
๋ณ๊ฒฝํ ์ ์๋ ๊ฒ์ด ๋ ํธ๋ฆฌํ๋ค๊ณ ์๊ฐํ๋ ์ํฉ์ด ์์ฃผ ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ค์ ๋ฉ์๋ ์ค ํ๋๊ฐ ํธ์ถ๋ ๋๋ง๋ค ์ ํ์ ๋ฌธ์์ด์ ๋ง๋ค์ง ์๋ ํด๋์ค๋ฅผ ์ํฉ๋๋ค.
์, ๋งค์ฐ ํฐ ๋ฌธ์์ด์ด ์๊ณ ๊ทธ ๋์ ๋ฌด์ธ๊ฐ๋ฅผ ์์ฃผ ์ถ๊ฐํด์ผ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ฌธ์์ด ๊ฐ์ฒด๋ฅผ ๊ณ์ํด์ ๋ค์ ๋ง๋ค๊ณ ์ฐ๊ฒฐํ๋ ๊ฒ๋ณด๋ค ๋ฌธ์ ๋ชจ์( ArrayList<Character>
)์ด ๋ ํจ์จ์ ์ผ ์ ์์ต๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก Java ์ธ์ด์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฌธ์์ด๊ณผ ๊ฐ์ ์ ํ์ด ์ถ๊ฐ๋ ์ด์ ์
๋๋ค. ๋ผ๊ณ ํฉ๋๋ค StringBuilder
.
๊ฐ์ฒด ๋ง๋ค๊ธฐ
๊ธฐ์กด ๋ฌธ์์ด์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ค๋ฉด StringBuilder
๋ค์๊ณผ ๊ฐ์ ๋ช
๋ น๋ฌธ์ ์คํํด์ผ ํฉ๋๋ค.
StringBuilder name = new StringBuilder(string);
๋น ๊ฐ๋ณ ๋ฌธ์์ด์ ๋ง๋ค๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ช ๋ น๋ฌธ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
StringBuilder name = new StringBuilder();
๋ฐฉ๋ฒ ๋ชฉ๋ก
์ด StringBuilder
ํด๋์ค์๋ 24๊ฐ์ ์ ์ฉํ ๋ฉ์๋๊ฐ ์์ต๋๋ค. ๋ค์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์
๋๋ค.
๋ฐฉ๋ฒ | ์ค๋ช |
---|---|
|
์ ๋ฌ๋ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๊ณ ํ์ฌ ๋ฌธ์์ด์ ์ถ๊ฐํฉ๋๋ค. |
|
์ ๋ฌ๋ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๊ณ ํ์ฌ ๋ฌธ์์ด์ ์ฝ์ |
|
start..end ๊ฐ๊ฒฉ์ผ๋ก ์ง์ ๋ ๋ฌธ์์ด ๋ถ๋ถ์ ์ ๋ฌ๋ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ๋๋ค. |
|
๋ฌธ์์ด์์ ์ง์ ๋ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง ๋ฌธ์๋ฅผ ์ ๊ฑฐํฉ๋๋ค. |
|
๋ฌธ์์ด์์ ์ง์ ๋ ๊ฐ๊ฒฉ ๋ด์ ๋ฌธ์๋ฅผ ์ ๊ฑฐํฉ๋๋ค. |
|
ํ์ฌ ๋ฌธ์์ด์์ ํ์ ๋ฌธ์์ด์ ๊ฒ์ํฉ๋๋ค. |
|
๋์์ ์์ํ์ฌ ํ์ฌ ๋ฌธ์์ด์์ ํ์ ๋ฌธ์์ด์ ๊ฒ์ํฉ๋๋ค. |
|
์ ๋ฌ๋ ์ธ๋ฑ์ค์ ์๋ ๋ฌธ์์ด์ ๋ฌธ์๋ฅผ ๋ฐํํฉ๋๋ค. |
|
์ง์ ๋ ๊ฐ๊ฒฉ์ผ๋ก ์ ์๋ ํ์ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค. |
|
ํ์ฌ ๋ฌธ์์ด์ ๋ค์ง์ต๋๋ค. |
|
์ง์ ๋ ์ธ๋ฑ์ค์ ๋ฌธ์๋ฅผ ์ ๋ฌ๋ ๋ฌธ์๋ก ๋ณ๊ฒฝํฉ๋๋ค. |
|
๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฌธ์๋ก ๋ฐํ |
๋ค์์ ๊ฐ ๋ฐฉ๋ฒ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ ๋๋ค.
2. ๋ฐฉ๋ฒ ์ค๋ช :
๋ฌธ์์ด์ ์ถ๊ฐ
๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฌธ์์ด( StringBuilder
) ์ ๋ฌด์ธ๊ฐ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด append()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ญ์์ค. ์:
์ํธ | ์ค๋ช |
---|---|
|
|
ํ์ค ๋ฌธ์์ด๋ก ๋ณํ
StringBuilder
๊ฐ์ฒด๋ฅผ String ๊ฐ์ฒด๋ก ๋ณํํ๋ ค๋ฉด toString()
๋ฉ์๋๋ฅผ ํธ์ถํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์
์ํธ | ์ฐ์ถ |
---|---|
|
|
์บ๋ฆญํฐ๋ ์ด๋ป๊ฒ ์ญ์ ํ๋์?
๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฌธ์์ด์์ ๋ฌธ์๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค deleteCharAt()
. ์:
์ํธ | ์ฐ์ถ |
---|---|
|
|
๋ฌธ์์ด์ ์ผ๋ถ๋ฅผ ๋ค๋ฅธ ๋ฌธ์์ด๋ก ๋ฐ๊พธ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
์ด๋ฅผ ์ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค replace(int begin, int end, String str)
. ์:
์ํธ | ์ฐ์ถ |
---|---|
|
|
3. ๋ฌธ์์ด ์์ ์ ์ ์ฉํ ์
์ด๋ป๊ฒ ๋ฌธ์์ด์ ๋ฐ์ ํฉ๋๊น?
์ด๋ฅผ ์ํ ํน๋ณํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค โ reverse()
; ์:
์ํธ | ์ฐ์ถ |
---|---|
|
|
StringBuffer
์์
๋ ๋ค๋ฅธ ํด๋์ค์ธ StringBuffer๊ฐ ์์ต๋๋ค. ์ด ํด๋์ค๋ StringBuilder
ํด๋์ค์ ์ ์ฌํ์ง๋ง ํด๋น ๋ฉ์๋๋ synchronized
์์ ์๋ก ํ์๋ฉ๋๋ค. ์ด๋ StringBuffer
๊ฐ์ฒด๊ฐ ์ฌ๋ฌ ์ค๋ ๋์์ ๋์์ ์ก์ธ์ค๋ ์ ์์์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฌ๋ .๋ณด๋ค ํจ์ฌ ๋๋ฆฝ๋๋ค StringBuilder
. Java ๋ฉํฐ์ค๋ ๋ฉ ํ์คํธ ์์ ๋ฉํฐ์ค๋ ๋ฉ์ ์ ๊ทน์ ์ผ๋ก ํ์ํ๊ธฐ ์์ํ ๋ ์ด ํด๋์ค๊ฐ ํ์ํ ์ ์์ต๋๋ค .
GO TO FULL VERSION