Java/자바 정리

109. 문자열을 더 빠르게 다루자 – StringBuilder로 조작하기

코딩하는냥이 2025. 5. 14. 11:32
반응형

이번 글에서는 문자열을 동적으로 조작할 때 성능이 좋은 StringBuilder 클래스를 사용해
문자열을 생성하고, 중간에 삽입하고, 일부를 삭제하는 기능까지 실습합니다.
문자열을 반복적으로 변경해야 할 경우, + 연산 대신 StringBuilder를 사용하는 것이 훨씬 효율적입니다.


📌 예제 코드

public class StringBuilderExample {
    public static void main(String[] args) {
        String data = new StringBuilder()
                .append("DEF")      // "DEF" 추가 → "DEF"
                .insert(0, "ABC")   // 0번째에 "ABC" 삽입 → "ABCDEF"
                .delete(3, 4)       // 3번째 문자(D) 삭제 → "ABCEF"
                .toString();        // 최종 문자열로 변환

        System.out.println(data);  // 결과: ABCEF
    }
}

💻 실행 결과

ABCEF

💬 코드 설명

  • StringBuilder는 내부 버퍼를 사용하여 문자열을 효율적으로 조작할 수 있는 가변 문자열 클래스입니다.
  • append("DEF")로 "DEF"를 추가하고, insert(0, "ABC")로 "ABC"를 앞에 삽입하여 "ABCDEF"가 됩니다.
  • delete(3, 4)는 3번째 인덱스(D) 하나를 삭제하여 "ABCEF"가 됩니다.
  • toString()을 호출하면 최종 문자열 "ABCEF"가 String 타입으로 변환됩니다.
  • 모든 메서드는 연쇄적으로 연결 가능(chain method) 하여 간결하게 작성할 수 있습니다.

💡 포인트 정리

  • StringBuilder는 문자열을 반복적으로 수정하거나 조합할 때 효율적입니다.
  • 주요 메서드:
    • append(String) : 문자열 끝에 추가
    • insert(int offset, String) : 원하는 위치에 삽입
    • delete(int start, int end) : 특정 범위 문자열 삭제
    • toString() : 최종 결과를 문자열로 반환
  • 문자열 덧붙이기를 많이 한다면 +보다 StringBuilder 사용이 성능적으로 훨씬 유리합니다.

📌 정리하자면, StringBuilder는 문자열을 조작할 때 빠르고 유연한 방식을 제공합니다.
특히 반복적인 추가·삭제·삽입 작업이 필요한 상황에서는 String보다 훨씬 효율적이며,
간결하고 체이닝 가능한 문법 덕분에 코드도 깔끔하게 유지할 수 있습니다.