StringBuilder, StringBuffer
- java.lang 패키지로 여러 String 데이터를 하나로 합칠 때 사용
- 한번 생성되면 내용을 바꿀 수 없는 String 객체와는 다르게 내용 변경 가능 => 메모리를 더 효율적으로 사용
- 같은 메소드를 공유하지만 StringBuilder는 동기화 지원 X, StringBuffer는 동기화 지원
=> StringBuilder는 싱글 스레드 환경에, StringBuffer는 멀티 스레드 환경에 적합
※ 버퍼(Buffer) = 데이터를 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역
메소드 종류(공통)
- append() = 해당 String 데이터 추가 (+=)
- delete(첫 순서, 끝 순서+1) = 지정한 인덱스 위치의 문자열 삭제 (두 개 이상)
- deleteCharAt(인덱스) = 지정한 인덱스 위치의 문자열 삭제 (하나만)
- insert(인덱스, 문자열) = 지정한 인덱스 위치에 지정한 문자열 추가
- charAt() - 특정 인덱스 위치의 문자(char 타입) 반환
- setCharAt(인덱스, 문자) = 지정한 인덱스 위치의 문자를 지정한 문자로 치환
- setLength(숫자) = 지정한 숫자만큼으로 문자열 길이 조정
(현재 보다 길게 조정하면 공백으로 채워지고, 짧게 조정하면 초과되는 길이의 문자열은 삭제)
- trimToSize() = 문자열 뒷부분의 공백 모두 제거
- indexOf() = 해당 문자열에서 지정한 문자가 위치한 인덱스 반환 (없으면 -1 반환)
- lastIndexOf() = 해당 문자열에서 지정한 문자가 중복일 경우 마지막 인덱스 반환
- length() = 문자열 길이 반환
- capacity() = StringBuilder 객체의 용량 조회
(초기 용량 = 객체 생성 시 전달된 문자열의 길이 + 16, 용량이 초과 시 (기존 용량 + 1) * 2로 자동 변경)
- replace(첫 순서, 끝 순서+1, 문자열) = 지정한 인덱스 위치의 문자열을 지정한 문자열로 치환
- reverse() = 문자 전체 뒤집기
- substring(첫 순서, 끝 순서+1) = 지정한 인덱스 위치의 문자열 출력
- toString() = String으로 타입 변환
'Java > 알고리즘과 자료구조' 카테고리의 다른 글
java.util.HashSet (0) | 2023.11.14 |
---|---|
java.util.Stack (0) | 2023.06.21 |
java.math.BigInteger (0) | 2023.04.24 |
java.util.Deque (0) | 2023.02.27 |
Java Stream 주요 메소드 (0) | 2023.02.27 |
댓글