Java - ArrayList를 String으로 변환

Java에서 ArrayList의 내용들을 하나의 문자열로 변환하는 방법을 소개합니다.

1. ArrayList.toString()으로 문자열 변환

ArrayList의 toString()은 리스트를 문자열로 변환합니다. 리턴되는 문자열을 보면 []안에 리스트의 아이템들이 추가됩니다.

List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("Kotlin");

String str = list.toString();
System.out.println(str);

Output:

[Java, Python, Kotlin]

2. + 연산자로 문자열 변환

ArrayList.toString()은 문자열 시작과 끝에 []를 추가합니다. 만약 이것을 없애고 싶고 구분자를 , 가 아닌 내가 원하는 것으로 하고 싶다면 어떻게 해야할까요?

가장 간단한 방법은 반복문과 + 연산자를 이용하여 리스트의 모든 내용을 하나의 문자열로 연결하는 것입니다. 아래 예제는 ,로 구분자를 추가하였는데 마지막 아이템에는 ,가 추가하지 않도록 구현하면 더 깔끔할 것 같습니다.

import java.util.ArrayList;
import java.util.List;

public class ConvertArrayListToString1 {

    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("Kotlin");

        String str = "";
        for (String item : list) {
            str += item + ",";
        }
        System.out.println(str);
    }
}

Output:

Java,Python,Kotlin,

3. String.join()으로 리스트를 문자열로 변환

String.join()에 구분자와 리스트를 인자로 전달하면 리스트를 문자열로 변환하고 그 결과를 리턴합니다. 또한, 마지막 아이템 다음에는 구분자를 추가하지 않습니다. 직접 구현하는 것보다 join()을 이용하는 것이 더 간단합니다.

import java.util.ArrayList;
import java.util.List;

public class ConvertArrayListToString2 {

    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("Kotlin");

        String str = String.join(",", list);
        System.out.println(str);
    }
}

Output:

Java,Python,Kotlin

4. StringBuilder로 리스트를 문자열로 변환

반복문과 StringBuilder를 이용하여 리스트의 아이템들을 하나의 문자열로 연결할 수 있습니다. + 연산자를 이용하여 구현한 방법과 동일합니다.

import java.util.ArrayList;
import java.util.List;

public class ConvertArrayListToString2 {

    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("Kotlin");

        StringBuilder sb = new StringBuilder();
        for (String item : list) {
            sb.append(item);
            sb.append(",");
        }
        System.out.println(sb.toString());
    }
}

Output:

Java,Python,Kotlin,
Loading script...
codechachaCopyright ©2019 codechacha