StringBuffer , StringBuilder

InOutยท2023๋…„ 4์›” 23์ผ
post-thumbnail

๐Ÿ”† StringBufferํด๋ž˜์Šค

  • ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค
  • String์ฒ˜๋Ÿผ ๋ฌธ์ž์—ด ๋ฐฐ์—ด(char[]์„ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.)
  • String๊ณผ ๋‹ฌ๋ฆฌ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.



    โ—๏ธString๊ณผ ๋‹ฌ๋ฆฌ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋ผ๋Š” ๋ง์ด ๋ฌด์—‡์ผ๊นŒ?

    String์€ ๋ถˆ๋ณ€๊ฐ์ฒด์ด๋‹ค.
    ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ ํ›„ ๋‚ด๋ถ€์˜ ์ƒํƒœ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ๊ณ„์† ์œ ์ง€๋˜๋Š” ๊ฐ์ฒด๋ผ๋Š” ๋œป์ด๋‹ค.
    ๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ํ•  ๊ฒฝ์šฐ ๊ณ„์†ํ•ด์„œ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.

์œ„์˜ ์ฝ”๋“œ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค

์ด์™€ ๊ฐ™์€ ํŠน์ง• ๋•Œ๋ฌธ์— ๋ง์…ˆ ์—ฐ์‚ฐ์ž(+)๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ์€ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค.
์ด๋Ÿด ๊ฒฝ์šฐ ๋‚ด์šฉ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ StringBuffer๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๐Ÿ”† StringBuffer์˜ ๋ฉ”์„œ๋“œ

StringBuffer()
> 16๋ฌธ์ž๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํผ๋ฅผ ๊ฐ€์ง„ StringBuffer์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
StringBuffer(int length)
> ์ง€์ •๋œ ๊ฐœ์ˆ˜์˜ ๋ฌธ์ž๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํผ๋ฅผ ๊ฐ€์ง„ String Buffer ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
StringBuffer(String str)
> ์ง€์ •๋œ ๋ฌธ์ž์—ด ๊ฐ’์„ ๊ฐ–๋Š” StringBuffer ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
StringBuffer append(boolean b)
StringBuffer append(char c)
StringBuffer append(char[] str)
StringBuffer append(double d)
StringBuffer append(float f)
StringBuffer append(int i)
StringBuffer append(long l)
StringBuffer append(Object obj)
StringBuffer append(String str)
> ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ž…๋ ฅ๋œ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ StringBuffer์ธ์Šคํ„ด์Šค๊ฐ€ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ž์—ด์˜ ๋’ค์— ๋ง๋ถ™์ธ๋‹ค.

ex) StringBuffer strBuff = new StringBuffer("abc");
	StringBuffer strBuff2 = strBuff.append(true);
    strBuff.append('d').append(10.0f);
    
    StringBuffer strBuff3 = strBuff.append("ABC").append(123);
    
>	strBuff  = "abctrued10.0ABC123"
	strBuff2 = "abctrued10.0ABC123"
    strBuff3 = "abctrued10.0ABC123"
int capacity()
> StringBuffer์ธ์Šคํ„ด์Šค์˜ ๋ฒ„ํผ ํฌ๊ธฐ ๋ฐ˜ํ™˜
int length()
> StringBuffer์ธ์Šคํ„ด์Šค์— ๋‹ด๊ธด ๋ฌธ์ž์—ด์˜ ๊ธธ์ด ๋ฐ˜ํ™˜
char charAt(int index)
> ์ง€์ •๋œ ์œ„์น˜(index)์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜
StringBuffer delete(int start, int end)
> ์‹œ์ž‘์œ„์น˜๋ถ€ํ„ฐ ๋ ์œ„์น˜ ์‚ฌ์ด์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.
StringBuffer deleteCharAt(int index)
> ์ง€์ •๋œ ์œ„์น˜(index)์˜ ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.
StringBuffer insert(int pos, boolean b)
StringBuffer insert(int pos, char c)
StringBuffer insert(int pos, char[] str)
StringBuffer insert(int pos, double d)
StringBuffer insert(int pos, float f)
StringBuffer insert(int pos, int i)
StringBuffer insert(int pos, long l)
StringBuffer insert(int pos, Object obj)
StringBuffer insert(int pos, String str)
> ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ง€์ •๋œ ์œ„์น˜์— ์ถ”๊ฐ€ํ•œ๋‹ค. 
StringBuffer replace(int start, int end, String str)
> ์ง€์ •๋œ ๋ฒ”์œ„์˜ ๋ฌธ์ž๋“ค์„ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พผ๋‹ค.
StringBuffer reverse()
> StringBuffer์ธ์Šคํ„ด์Šค์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋‚˜์—ดํ•œ๋‹ค.
void setCharAt(int index, char ch)
> ์ง€์ •๋œ ์œ„์น˜์˜ ๋ฌธ์ž๋ฅผ ์ฃผ์–ด์ง„ ๋ฌธ์ž(ch)๋กœ ๋ฐ”๊พผ๋‹ค
void setLength(int newLength)
> ์ง€์ •๋œ ๊ธธ์ด๋กœ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค. ๊ธธ์ด๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‚˜๋จธ์ง€ ๋นˆ ๊ณต๊ฐ„์„ ๋„๋ฌธ์ž '/u0000'๋กœ ์ฑ„์šด๋‹ค.
String toString()
> StringBuffer์ธ์Šคํ„ด์Šค์˜ ๋ฌธ์ž์—ด์„ String์œผ๋กœ ๋ณ€ํ™˜
String substring(int start)
String substring(int start, int end)
> ์ง€์ •๋œ ๋ฒ”์œ„ ๋‚ด์˜ ๋ฌธ์ž์—ด์„ String์œผ๋กœ ๋ฝ‘์•„์„œ ๋ฐ˜ํ™˜.
  ์‹œ์ž‘์œ„์น˜๋งŒ ์ง€์ •ํ•˜๋ฉด ์‹œ์ž‘~ ๋ฌธ์ž์—ด ๋๊นŒ์ง€ ๋ฝ‘์•„์„œ ๋ฐ˜ํ™˜




๐Ÿ”† ๊ทธ๋ ‡๋‹ค๋ฉด StringBuilder๋Š” ๋ฌด์—‡์ธ๊ฐ€?

StringBuffer์™€ StringBuilder๋Š” ์™„์ „ํžˆ ๋˜‘๊ฐ™์ง€๋งŒ ๋”ฑ ํ•œ๊ฐ€์ง€ ์ฐจ์ด๋งŒ ์žˆ๋‹ค. >> ๋™๊ธฐํ™” ์ฐจ์ด

  • StringBuilder๋Š” ๋™๊ธฐํ™” ๋˜์–ด์žˆ์–ด ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ์— ์•ˆ์ „ํ•˜๋‹ค.
  • ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋‹Œ๊ฒฝ์šฐ, ๋™๊ธฐํ™”๋Š” ๋ถˆํ•„์š”ํ•œ ์„ฑ๋Šฅ์ €ํ•˜๋ฅผ ์ผ์œผํ‚จ๋‹ค. ์ด ๊ฒฝ์šฐ์—” StringBuffer๋Œ€์‹  StringBuilder(์‹ฑ๊ธ€์“ฐ๋ ˆ๋“œํ”„๋กœ๊ทธ๋žจ์— ์ ํ•ฉ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
profile
๊ฐœ๋ฐœ์ƒˆ๋ฐœ

0๊ฐœ์˜ ๋Œ“๊ธ€