Java - ArrayListをStringに変換する

JavaでArrayListの内容を1つの文字列に変換する方法を紹介します。

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() は文字列の先頭と末尾に [] を追加します。もしこれを取り除きたい、区切り文字を, ではなく、私が望むものにしたい場合はどうすればいいですか?

最も簡単な方法は、反復文と +演算子を使用してリストのすべての内容を1つの文字列に連結することです。以下の例は , で区切り文字を追加しましたが、最後のアイテムには , が追加しないように実装すればもっときれいになりそうです。

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を使用して、リスト内のアイテムを1つの文字列にリンクできます。 +演算子を使って実装した方法と同じです。

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,

Related Posts

codechachaCopyright ©2019 codechacha