Seung's Learning Record

[ JAVA ] StringBuilder - 문자열 더하기 본문

프로그래밍/JAVA

[ JAVA ] StringBuilder - 문자열 더하기

70_0ewd 2022. 8. 25. 00:37

String은 불변의 객체다. String 객체 str1의 내용과 str2의 내용을 합치고자 하면 새로운 객체를 만들어 값을 저장해야한다. 즉, String객체끼리 덧셈 연산을 하게되면 메모리 할당과 메모리 해제를 발생시켜 연산의 횟수가 많아지게 된다.

이때 필요한것이 바로 StringBuilder이다.


  • 생성자
    • StringBuilder sb = new StringBuilder(): 객체 선언
    • StringBuilder sb = new StringBuilder("aaa"): 문자열을 바로 넣을 수도 있다.
  • 주요 메소드
    • .append(): 문자열을 추가한다.
    • .insert(int offset, String str): offset 위치에 str을 추가한다.
    • .replace(): 첫번째와 두번째 파라미터로 받는 숫자 인덱스에 위치한 문자열을 대체한다.
    • .substring(int start, (int end)): 인덱싱. 파라미터가 하나라면 해당 인덱스부터 끝까지, 두개라면 시작점과 끝점-1 까지 인덱싱 
    • .deleteCharAt(int index): 인덱스에 위치한 문자 하나를 삭제한다. 
    • .delete(int start, int end): start 부터 end-1 까지의 문자를 삭제한다. 
    • .toString(): String으로 변환한다. 
    • .reverse(): 해당 문자 전체를 뒤집는다. 
    • .setCharAt(int index, String s): index 위치의 문자를 s로 변경
    • .setLength(int len): 문자열 길이 조정, 현재 문자열보다 길게 조정하면 공백으로 채워짐, 현재 문자열보다 짧게 조정하면 나머지 문자는 삭제
    • .trimToSize()문자열이 저장된 char[] 배열 사이즈를 현재 문자열 길이와 동일하게 조정, String 클래스의 trim()이 앞 뒤 공백을 제거하는 것과 같이 공백 사이즈를 제공하는 것, 배열의 남는 사이즈는 공백이므로, 문자열 뒷부분의 공백을 모두 제거해준다고 보면 됨
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
    }
}

'프로그래밍 > JAVA' 카테고리의 다른 글

[ JAVA ] StringTokenizer()를 사용한 문자열 분리  (0) 2022.08.21
[ JAVA ] 배열 정렬  (0) 2022.08.18
[ JAVA ] 배열  (0) 2022.08.18
[ JAVA ] 표준 입출력  (0) 2022.08.16