String을 붙일때 +를 이용하여 붙이면 새로 만들어진 String에 객체가 생기고
jvm에서 해당하는 스트링에 대한 메모리 영역을 사용한다.
또한 지워주는 GC 작업도 생기게 된다.
따라서 스트링 연산이 빈번하다면 StringBuilder를 사용해야 한다.
보통 뒤에 붙이는 경우가 대부분이고, 이때는 append(String)를 사용하면 된다.
앞에 붙일때는 insert(0, String)을 사용하면 된다.
프로그래머스 기준으로 성능차이를 비교해봤다.
StringBuilder를 쓰는 경우
그냥 + 연산을 통하여 스트링을 붙인 경우
평균적으로 30배정도 차이난다.
알고리즘이 깔끔하면 String plus 연산도 통과되기도 하지만
간혹 이거 하나때문에 성능테스트를 통과하지 못하는 경우도 생긴다.
'Algorithm' 카테고리의 다른 글
Monotone Queue Optimization (0) | 2021.12.21 |
---|---|
프로그래머스 고득점 키트 (0) | 2021.10.06 |
알고리즘 GIT (0) | 2020.04.21 |