String
"immutable" : 처음 생성된 후 변하지 않는다. 즉, +나 concat을 이용해서 새로운 문자열을 가리키게 하더라도 새로운 메모리를 할당받기 때문에 메모리 효율성문제에서 좋지 않다. 하지만 단순한 조회연산에 있어서 속도가 빠르고, 동기화를 신경쓸 필요가 없기 때문에 멀티쓰레드환경에서 사용하기 좋다.
StringBuffer/StringBuilder
"mutable": 클래스를 한 번 만들고 변경이 가능하다. 즉, 문자열 연산 시 그 시간이나 메모리 사용 효율이 String 보다 좋다. StringBuffer는 동기화 메소드를 제공하기 때문에 멀티쓰레드 환경에서 사용할 수 있고, StringBuilder는 동기화를 지원하지 않는다.
StringBuilder.append(char[] str) : 뒤에 붙임
StringBuilder.delete/deleteCharAt
StringBuilder.indexOf( String str)
StringBuilder.replace(int start,int end,String str)
'이론 > 알고리즘&자료구조&Java' 카테고리의 다른 글
[LocalDate - JAVA 8] LocalDate 정리 (0) | 2018.09.11 |
---|---|
[백준 알고리즘 - 1806] 부분합 + StringTokenizer 정리 - java (0) | 2018.09.04 |
[소수구하기] 에라토스테네스의 체 알고리즘 -java (0) | 2018.08.26 |
[Java] Arrays / Collections (0) | 2018.08.23 |
[알고리즘] 순열 - java(백준 10972/10973/10974/1722) (0) | 2018.08.21 |