[Java] StringBuilder 사용법과 주요 메소드

StringBuilder는 Java에서 문자열을 수정할 때 유용한 클래스입니다. 불변 객체인 String 클래스와 달리, StringBuilder는 가변 객체로, 문자열을 수정할 때 새로운 객체를 생성하지 않고도 여러 작업을 효율적으로 수행할 수 있습니다. 이는 특히 반복문 내에서 문자열을 결합하거나 수정할 때 유용합니다.

StringBuilder 사용 방법

StringBuilder 객체 생성

StringBuilder sb = new StringBuilder();

초기값을 지정하여 생성

StringBuilder sb = new StringBuilder("초기값");

주요 메서드

1. append()

문자열 끝에 다른 문자열을 추가합니다.

sb.append("추가할 문자열");

2. insert()

지정한 위치에 문자열을 삽입합니다.

sb.insert(위치, "삽입할 문자열");

3. delete()

지정한 시작 위치부터 끝 위치 이전까지의 문자열을 삭제합니다.

sb.delete(시작위치, 끝위치);

4. deleteCharAt()

지정한 위치의 문자를 삭제합니다.

sb.deleteCharAt(위치);

5. replace()

지정한 시작 위치부터 끝 위치 이전까지의 문자열을 새 문자열로 대체합니다.

sb.replace(시작위치, 끝위치, "새 문자열");

6. reverse()

문자열의 순서를 뒤집습니다.

sb.reverse();

7. toString()

StringBuilder 객체를 String 객체로 변환합니다.

String result = sb.toString();

8. setCharAt()

지정한 위치의 문자를 변경합니다.

sb.setCharAt(위치, '새문자');

9. substring()

지정한 범위의 문자열을 반환합니다.

String substr = sb.substring(시작위치, 끝위치);

10. length()

현재 StringBuilder의 길이를 반환합니다.

int length = sb.length();

11. capacity()

StringBuilder의 현재 용량을 반환합니다.

int capacity = sb.capacity();

예제 코드

public class StringBuilderExample {
    public static void main(String[] args) {
        // StringBuilder 객체 생성
        StringBuilder sb = new StringBuilder("Hello");

        // 문자열 추가
        sb.append(" World");
        System.out.println(sb.toString()); // Hello World

        // 문자열 삽입
        sb.insert(6, "Java ");
        System.out.println(sb.toString()); // Hello Java World

        // 문자열 삭제
        sb.delete(5, 10);
        System.out.println(sb.toString()); // Hello World

        // 문자 삭제
        sb.deleteCharAt(5);
        System.out.println(sb.toString()); // HelloWorld

        // 문자열 대체
        sb.replace(5, 10, " Java");
        System.out.println(sb.toString()); // Hello Java

        // 문자열 역순
        sb.reverse();
        System.out.println(sb.toString()); // avaJ olleH

        // 원래 문자열로 복원
        sb.reverse();
        System.out.println(sb.toString()); // Hello Java

        // 특정 위치 문자 변경
        sb.setCharAt(6, 'j');
        System.out.println(sb.toString()); // Hello java

        // 부분 문자열 추출
        String substr = sb.substring(6, 10);
        System.out.println(substr); // java

        // 길이와 용량
        int length = sb.length();
        int capacity = sb.capacity();
        System.out.println("Length: " + length); // Length: 10
        System.out.println("Capacity: " + capacity); // Capacity: 16
    }
}

StringBuilder는 문자열을 효율적으로 조작하기 위한 강력한 도구입니다. 특히, 문자열을 자주 수정해야 하는 경우에 StringBuilder를 사용하면 성능 이점을 누릴 수 있습니다. 이 가이드를 참고하여 다양한 상황에서 StringBuilder를 활용해 보세요.

Leave a Comment