728x90
반응형

StringBuilder & StringJoiner

둘 다 문자열을 효율적으로 처리하고 연결하는 데 사용되는 클래스이다.

각각의 목적과 사용법에 약간의 차이가 존재한다.

 


StringBuilder

StringBuilder는 단일 스레드 환경에서 문자열을 빠르게 수정하고 연결하기 위해 사용된다.
StringBuilder 객체는 가변이며, 내부적으로 버퍼를 사용하여 문자열을 구성한다.

이로 인해 문자열을 변경할 때마다 새로운 문자열 객체를 생성하지 않고도 문자열을 효율적으로 처리할 수 있다.
StringBuilder의 주요 메서드로는 append, insert, delete, replace 등이 있다.

class Solution {
    public String solution(String[] arr) {
        StringBuilder answer = new StringBuilder();
        for(String s : arr) {
            answer.append(s);
        }
        return answer.toString();
    }
}

 

 

StringJoiner
StringJoiner는 주로 문자열을 결합하기 위한 작업에 사용된다.
주로 문자열 컬렉션을 연결할 때 사용하며, 요소 간의 구분자를 지정할 수 있다.
예를 들어, 문자열 배열을 연결하고 각 요소를 쉼표로 구분하려면 StringJoiner를 사용할 수 있다.
StringJoiner의 주요 메서드로는 add, setEmptyValue, toString 등이 있으며, 요소를 추가하고 문자열로 변환하는 데 사용된다.

import java.util.StringJoiner;

class Solution {
    public String solution(String[] arr) {
        StringJoiner joiner = new StringJoiner("");
        for (String s : arr) {
            joiner.add(s);	// Java 8 이상에서 'String.join' 메서드 사용 가능
        }
        return joiner.toString();
    }
}

 

 

간단히 말하면, StringBuilder는 문자열을 구성하고 수정하는 데 사용되는 범용 클래스이며, 

StringJoiner는 문자열을 결합하고 요소 간에 구분자를 추가하는 데 특화된 클래스이다다.

따라서 사용 목적에 따라 두 클래스 중 하나를 선택하면 된다.

728x90
반응형

'Coding > Study' 카테고리의 다른 글

[IT 용어] API (Application Programming Interface)  (0) 2023.10.14
[JAVA] 람다식 Lambda  (0) 2023.10.05
[JSP] JSP 강의평가 웹 사이트 개발하기 완료  (0) 2023.10.02
[GitHub] 깃, 깃허브  (0) 2023.09.28
[Kotlin] 코틀린 맛보기  (0) 2023.09.22

+ Recent posts