String과 동일 메소드
charAt()
: 특정 인덱스 위치의 문자 반환
indexOf()
/ lastIndexOf()
: 문자열로 검색해서 위치 반환
length()
: 문자열 길이 반환
replace()
: 검색된 문자열 교체
substring()
: 특정 인덱스 범위 내 문자열을 복사해서 새로 생성된 인스턴스 반환
toString()
: 문자열 출력
1. append()
StringBuilder a = new StringBuilder("Hello");
a.append(" World");
System.out.println(a);
2.capacity()
- String 클래스와 다르게 char[] 배열 사이즈를 여유있게 잡아둔다.
- 현재 char[] 배열이 가진 사이즈 정보를 반환한다.
length()
는 실제 데이터가 들어있는 문자열 자체의 길이이고 capacity()
는 현재 배열 사이즈이다.
append()
등 문자열 조정할 때 배열 사이즈가 자동으로 변경된다.
StringBuilder a = new StringBuilder("Hello");
System.out.println(a.length());
System.out.println(a.capacity());
a.append(" World");
System.out.println(a);
System.out.println(a.length());
System.out.println(a.capacity());
a.append(" Hi everybody!!!!");
System.out.println(a);
System.out.println(a.length());
System.out.println(a.capacity());
3-1 delete()
- 매개변수로 전달받은 인덱스 사이의 문자열 제거
- parameter: 인덱스 시작점, 인덱스 끝점+1
- 문자열에서 시작과 끝은 항상
StringBuilder a = new StringBuilder("Hello");
a.append(" World");
System.out.println(a);
a.delete(6, 9);
System.out.println(a);
3-2 deleteCharAt()
- 특정 인덱스의 한 문자만 삭제
- delete() 메소드에서 범위를 한 글자만 잡는 것과 동일한 효과이다.
StringBuilder a = new StringBuilder("Hello");
a.append(" World");
System.out.println(a);
a.deleteCharAt(6);
System.out.println(a);
4. insert()
- 특정 위치에 문자열 삽입
- 매개변수로 받은 인덱스 위치부터 문자열을 삽입해준다.
StringBuilder a = new StringBuilder("He World");
a.insert(2, "llo");
System.out.println(a);
a.insert(5, 55);
System.out.println(a);
5. reverse()
StringBuilder a = new StringBuilder("Hello World");
a.reverse();
System.out.println(a);
6. setChatAt()
- 특정 위치의 문자 변경
insert()
가 원본 문자열 중간에 삽입이라면 setChatAt()
은 해당 위치의 문자를 변경해준다.
StringBuilder a = new StringBuilder("Hello World");
a.setCharAt(0, 'h');
System.out.println(a);
7. setLength()
- 문자열 길이 조정
- 현재 문자열보다 길게 조정하면 공백으로 채워짐
- 현재 문자열보다 짧게 조정하면 나머지 문자는 삭제됨
StringBuilder a = new StringBuilder("Hello World");
System.out.println(a.length());
a.setLength(9);
System.out.println(a + "끝");
a.setLength(11);
System.out.println(a + "끝");
8. trimToSize()
- 문자열이 저장된 char[] 배열 사이즈를 현재 문자열 길이와 동일하게 조정해준다.
- String 클래스의
trim()
이 앞 뒤 공백을 제거하는 것과 같이 공백 사이즈를 제공하는 것이다.
- 배열의 남는 사이즈는 공백이므로, 문자열 뒷부분의 공백을 모두 제거해준다로 생각하면 된다.
StringBuilder a = new StringBuilder("Hello World");
System.out.println(a.length());
System.out.println(a.capacity());
a.trimToSize();
System.out.println(a.capacity());
출처: StringBuilder (문자열) 주요 메소드