BufferedWriter
- 비동기적 버퍼 스트림
- 버퍼가 가득 차면 데이터를 자동으로 비움
StringBuilder
변경할 수 있는 문자열
- 상속 불가
작동 방식
- 문자 추가 → 개체가 포함할 수 있는 문자 수를 정의하는 속성(StringBuilder.Capacity) 크기와 같을 때까지 길이가 증가
- 현재 용량을 초과 → StringBuilder.MaxCapacity 값에 도달할 때까지 동적으로 새 메모리 할당
- Capacity, MaxCapacity가 두 배로 증가
메모리 할당
- 기본 (최대) 용량 : 16자
- 기본 최대 용량 : 16자
작업 수행
- 문자 반복
- 인덱스만 사용해서 개별 문자를 설정 또는 검색
- Char[] 에서 문자 기반 인덱싱을 사용하면 성능 저하
(e.g. append())
(∵ 각 문자 액세스가 인덱싱할 버퍼를 찾기 위해 연결된 전체 청크 목록을 확인해야함)
- 텍스트 추가
- append("")
- insert(idx, "") : 특정 인덱스 위치(idx)에 추가
- 텍스트 삭제
- remove(start, n) : 특정 인덱스 위치(start)에서 시작하는 지정된 수(n)의 문자를 삭제
- delete(start, end) : 특정 인덱스 위치(start)부터 특정 인덱스 위치(end-1) 까지 삭제
- clear() : 모든 문자를 제거하고 속성을 0으로 설정
- 텍스트 수정
- replace("before", "after") : 문자 또는 문자열을 변경
- 텍스트 검색
- 텍스트 역순으로 변경
- reverse()
- 문자열로 변환
- toString()
[ 출처 ]
https://docs.microsoft.com/ko-kr/dotnet/api/system.text.stringbuilder?view=net-6.0
'TIL > Java' 카테고리의 다른 글
[Java] 디자인 패턴 - 프록시 패턴 (0) | 2022.06.01 |
---|---|
[Java] 디자인 패턴 - 싱글톤(Singleton) 패턴 (0) | 2022.06.01 |
[Java] 정규표현식 사용하는 방법 (0) | 2022.05.07 |
[Java] 정규표현식 문법 (0) | 2022.05.07 |
[Java] ArrayList를 배열로 변환하는 방법 (0) | 2022.05.04 |