[Java] StringBuilder

Dawon Seo·2023년 5월 23일
0

StringBuilder

  • String 객체끼리 더하는 방법은 메모리 할당과 해제를 발생, 덧셈 연산이 많아지면 성능이 저하된다.
  • 자바의 String 객체는 변경 불가능하여 한번 생성되면 내용을 바꿀 수 없다. 즉, 하나의 문자열을 다른 문자열과 연결하면 새 문자열이 생성되고 이전 문자열은 가비지 컬렉터로 들어간다.
  • 이럴 때 고려해 볼 수 있는 것이 StirngBuilder이다.
    • StringBuilder는 변경 가능한 문자열을 만들어 준다.
    • 상대적으로 속도가 빠르며 부하가 적다.
StringBuilder sb = new StringBuilder();
sb.append("ABC");
sb.append("DEF");

빈번하게 긴 문자열을 추가해야 할 때 효율적이다.

주요 메소드

  • append(): 문자열을 추가한다
  • insert(int offset, String str): offset 위치에 str을 추가한다. (ex. sb.insert(3, "ABC"))
  • replace(): 첫번째와 두번째 파라미터로 받는 숫자 인덱스의 문자열을 대체한다.
  • substring(int start, (int end)): 인덱싱
  • deleteCharAt(int index): 인덱스에 위치한 문자 하나를 삭제
  • delete(int start, int end): start부터 end-1까지의 문자를 삭제
  • toString(): String으로 변환
  • reverse(): 해당 문자 전체를 뒤집는다.
  • setCharAt(int index, String s): index 위치의 문자를 s로 변경
  • setLength(int len): 문자열 길이 조정, 현재 문자열보다 길게 조정하면 공백으로 채워지며 현재 문자열보다 짧게 조정하면 나머지 문자는 삭제된다
  • trimToSize(): 문자열이 저장된 char[] 배열 사이즈를 현재 문자열 길이와 동일하게 조정, Stirng 클래스의 trim()이 앞뒤 공백을 제거하는 것과 같이 공백 사이즈를 제공하는

0개의 댓글