728x90
백준 '다리 놓기' 문제를 풀면서 처음으로 stringbuilder을 사용했다. 그래서 공부한 내용을 적어보려 한다.
StringBuilder란, String과 문자열을 더할 때 새로운 객체를 생성하는 것이 아니라 기존의 데이터에 더하는 방식을 사용하는 것이다.
한 번 생성된 String은 내용을 바꿀 수 없고, String 객체과 String 객체를 더하면 새로운 문자열이 생성되고 이는 메모리 할당과 메모리 해제를 발생시킨다. 즉, 연산이 많아질수록 성능적으로 좋지 않다는 것이다.
하지만 StringBuilder는 기존의 데이터를 더하는 방식을 사용하므로 속도도 빠르며 상대적으로 부하가 적다. 즉, 긴 문자열을 더하는 상황에서 StringBuilder을 사용하면 좋다. 또한, 위에서 설명한 String의 한계를 극복하는 메소드이다.
StringBuilder의 주요 메소드를 살펴보자.
✔️StringBuilder 선언
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder("aaa"); //문자열을 바로 넣기 가능
✔️StringBuilder 문자열 추가
sb.append("aaa"); //aaa추가
sb.append(4); //4추가
sb.insert(1, "ccc"); //1번 자리에 ccc 추가
✔️StringBuilder 문자열 교체
sb.replace(1, 4, "aaa"); //1번 자리에서 3번 자리까지 문자열을 "aaa"로 교체(치환)
sb.setCharAt(1, "aaa"); //1번 자리 문자 "aaa"로 교체(치환)
✔️ StringBuilder 문자열 삭제
sb.deleteCharAt(3); //3번 자리 문자 삭제.
sb.delete(3, sb.length()); //3번 자리부터 sb.length-1번 자리까지 문자열 삭제.
✔️StringBuilder 문자열 뒤집기
sb.reverse(); //문자열 뒤집기
728x90
'✏️공부 > 💡JAVA' 카테고리의 다른 글
[JAVA] 정규표현식 (0) | 2023.01.16 |
---|---|
[Queue] 사용법 (0) | 2023.01.06 |