자바 String 대신 StringBuilder?

Sungmin·2023년 10월 30일
0

자바 기본 개념

목록 보기
19/21

알고리즘 문제풀이 과정에서 StringBuilder를 알게되어 자세히 알고 사용하기 위해 정리해 보도록 하겠다.

StringBuilder

String 객체끼리 더하는 방법은 메모리 할당과 해제를 발생시키는데, 덧셈 연산이 많아진다면 성능적으로 좋지 않다.

Java는 변경 가능하고 일반적인 문자열로 인한 성능 문제를 해결하도록 설계된
StringBuilder 클래스를 제공한다.

StringBuilder의 생성자와 주요 메서드

  • 생성자
StringBuilder sb = new StringBuilder(); //객체 선언
StringBuilder sb = new StringBuilder("aaa"); //문자열을 바로 넣을 수 있다.
import java.lang.StringBuilder;

public class sb {
    public static void main(String[] args) throws IOException{
        StringBuilder sb = new StringBuilder("aaa");

        // 문자열 추가
        System.out.println(sb.append("bbb")); // aaabbb
        System.out.println(sb.append(4)); // aaabbb4

        // 문자열 삽입
        System.out.println(sb.insert(2, "ccc")); // aacccabbb4
        
        // 문자열 치환, 문자열 교체
        System.out.println(sb.replace(3, 6, "ye")); // aacyebbb4

        // 인덱싱, 문자열 자르기
        System.out.println(sb.substring(5)); // bbb4
        System.out.println(sb.substring(3, 7)); // yebb

        // 문자 삭제
        System.out.println(sb.deleteCharAt(3)); // aacebbb4

        // 문자열 삭제
        System.out.println(sb.delete(3, sb.length())); // aac

        // 문자열 변환
        System.out.println(sb.toString()); // aac

        // 문자열 뒤집기
        System.out.println(sb.reverse()); // caa

        // 문자 대체, 문자 교체, 문자 치환
        sb.setCharAt(1, 'b');
        System.out.println(sb); // cba

        // 문자열 길이 조정
        sb.setLength(2);
        System.out.println(sb); // cb
    }
}
profile
Let's Coding

0개의 댓글