Java: StringBuffer 주요 메서드 정리


1. StringBuffer란?


2. 주요 메서드 + 내부 동작

아래 메서드들은 StringBuilder와 메서드명이 동일하며, 내부적으로 synchronized 블록을 포함한다는 점만 다름.


🔹 append(String str)


🔹 insert(int offset, String str)


🔹 delete(int start, int end)


🔹 deleteCharAt(int index)


🔹 replace(int start, int end, String str)


🔹 reverse()


🔹 toString()


🔹 setCharAt(int index, char c)


🔹 charAt(int index)


🔹 length()


🔹 capacity()


🔹 ensureCapacity(int minimumCapacity)


3. 체이닝 예시

StringBuffer sb = new StringBuffer("Hi");
String result = sb.append(" there")
                  .replace(0, 2, "Bye")
                  .reverse()
                  .toString();
System.out.println(result);  // "ereht eyB"

4. 주의사항

항목

설명

스레드 안전성

synchronized로 멀티스레드 환경에서 안전

성능

StringBuilder보다 약간 느림

내부 수정

✅ 같은 객체 내에서 수정

메서드 반환값

대부분 this → 체이닝 가능


✅ 요약 테이블

메서드

설명

시간복잡도

리턴값

append(String)

문자열 끝에 추가

O(1~n)

StringBuffer

insert(int, str)

중간에 삽입

O(n)

StringBuffer

delete(start, end)

구간 삭제

O(n)

StringBuffer

deleteCharAt(idx)

문자 하나 삭제

O(n)

StringBuffer

replace(s, e, str)

구간 대체

O(n)

StringBuffer

reverse()

문자열 뒤집기

O(n)

StringBuffer

charAt(int)

문자 조회

O(1)

char

setCharAt(i, c)

문자 수정

O(1)

void

length()

문자열 길이

O(1)

int

capacity()

버퍼 크기 조회

O(1)

int

ensureCapacity(n)

최소 용량 확보

O(n)

void

toString()

문자열 객체 반환

O(n)

String




Revision #3
Created 20 May 2025 04:54:37 by Dain
Updated 20 May 2025 06:26:42 by Dain