✔️ 한 줄 요약
주요 메소드 | 설명 |
append(String str) | 문자열 끝에 문자열 추가 |
insert(int offset, String str) | offset 위치에 str 문자열 삽입 |
delete(int start, int end) | start ~ end-1 범위 문자열 삭제 |
deleteCharAt(int index) | index 위치의 문자 삭제 |
replace(int start, int end, String str) | start ~ end - 1 범위의 문자열 str로 대체 |
reverse() | 문자열 역순으로 변경 |
setCharAt(int index, char ch) | index 위치의 문자 ch로 대체 |
charAt(int index) | index 위치의 문자 반환 |
substring(int start, int end) | start ~ end-1 범위의 문자열 반환 |
toString() | StringBuilder 객체 String으로 변환 |
1. append(String str)
StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" World");
// sb = Hello World
설명 : 문자열의 끝에 문자열 추가
시그니처 : public StringBuilder append(String str)
매개변수 : str - 추가할 문자열
사용 상황 : 여러 문자열을 하나로 합치거나, 문자열의 끝에 새로운 문자열을 추가하고 싶을 때 사용
2. insert(int offset, String str)
StringBuilder sb = new StringBuilder("Hello");
sb.insert(5, " World");
// sb = Hello World
설명 : 특정 위치에 문자열 삽입
시그니처 : public StringBuilder insert(int offset, String str)
매개변수 : offset - 삽입할 위치의 인덱스, str - 삽입할 문자열
사용 상황 : 특정 위치에 문자열을 삽입해야 할 때 사용
3. delete(int start, int end)
StringBuilder sb = new StringBuilder("Hello World");
sb.delete(5, 11);
// sb = Hello
설명 : 시작 인덱스에서 끝 인덱스 전까지의 문자열 삭제
시그니처 : public StringBuilder delete(int start, int end)
매개변수 : start - 시작 인덱스(포함), end - 끝 인덱스(포함 X)
사용 상황 : 특정 범위의 문자열을 제거할 때 사용
4. deleteCharAt(int index)
StringBuilder sb = new StringBuilder("Hello World");
sb.deleteCharAt(5);
// sb = HelloWorld
설명 : 특정 위치의 문자를 삭제
시그니처 : public StringBuilder deleteCharAt(int index)
매개변수 : index - 삭제할 위치의 인덱스
사용 상황 : 특정 위치의 문자를 삭제할 때 사용
5. replace(int start, int end, String str)
StringBuilder sb = new StringBuilder("Hello World");
sb.replace(6, 11, "Java");
// sb = Hello Java
설명 : 시작 인덱스에서 끝 인덱스까지의 문자열을 원하는 문자열로 대체
시그니처 : public StringBuilder replace(int start, int end, String str)
매개변수 : start - 시작 인덱스(포함), end - 끝 인덱스(포함 X), str - 대체할 문자열
사용 상황 : 특정 범위의 문자열을 다른 문자열로 교체할 때 사용
6. reverse()
StringBuilder sb = new StringBuilder("Hello");
sb.reverse();
// sb = olleH
설명 : 문자열을 역순으로 변경
시그니처 : public StringBuilder reverse()
사용 상황 : 문자열을 뒤집어야 할 때 사용
7. setCharAt(int index, char ch)
StringBuilder sb = new StringBuilder("Hello");
sb.setCharAt(1, 'a');
// sb = Hallo
설명 : 특정 인덱스의 문자를 원하는 문자로 변경
시그니처 : public void setCharAt(int index, char ch)
매개변수 : index - 변경할 문자의 인덱스, ch - 새로 설정할 문자
사용 상황 : 특정 위치의 문자를 다른 문자로 교체할 때 사용
8. charAt(int index)
StringBuilder sb = new StringBuilder("Hello");
char ch = sb.charAt(1);
// ch = e
설명 : 특정 인덱스의 문자 반환
시그니처 : public char charAt(int index)
매개변수 : index - 반환할 문자의 인덱스
사용 상황 : 특정 위치의 문자를 확인할 때 사용
9. substring(int start, int end)
StringBuilder sb = new StringBuilder("Hello World");
String sub = sb.substring(0, 5);
// sub = Hello
설명 : 시작 인덱스에서 끝 인덱스 전까지의 부분 문자열 반환
시그니처 : public String substring(int start, int end)
매개변수 : start - 시작 인덱스(포함), end - 끝 인덱스(포함 X)
사용 상황 : 특정 범위의 문자열을 추출할 때 사용
10. toString()
StringBuilder sb = new StringBuilder("Hello");
String str = sb.toString();
// str = Hello
설명 : StringBuilder 객체를 String으로 변환
시그니처 : public String toString()
사용 상황 : 최종 문자열을 얻을 때 사용
문자열을 조작할 때 특히 알고리즘을 풀이하며 반복하여 문자열을 계속 추가해야 하는 경우나 문자열에서 삽입, 삭제, 변경 등의 작업이 자주 발생하는 경우 불변 객체인 String을 사용하여 새로운 문자열을 계속 생성하는 것보다 내부 배열을 직접 수정하는 StringBuilder를 사용해 성능을 향상시킬 수 있다.