본문 바로가기
Java/알고리즘과 자료구조

java.lang.StringBuilder, StringBuffer

by Mecodata 2023. 5. 16.

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

댓글