Javaでは、 `String.join(”、 “、list)`を使用してリスト文字列をコンマで結合することができます。

1. Java 8

1.1

String.join

JavaStringExample1.java

package com.mkyong;

import java.util.Arrays;
import java.util.List;

public class JavaStringExample1 {

    public static void main(String[]args) {

        List<String> list = Arrays.asList("a","b","c");
        String result = String.join(",", list);

        System.out.println(result);

    }

}

出力

a,b,c

1.2ストリーム

Collectors.joining

JavaStringExample2.java

package com.mkyong;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class JavaStringExample2 {

    public static void main(String[]args) {

        List<String> list = Arrays.asList("a", "b", "c");

        String result = list.stream().collect(Collectors.joining(","));

        System.out.println(result);

    }

}

出力

a,b,c

2.古い時代

セパレータを使用して文字列を手動で結合するカスタムメソッドを作成します。

JavaStringExample3.java

package com.mkyong;

import java.util.Arrays;
import java.util.List;

public class JavaStringExample3 {

    public static void main(String[]args) {

        System.out.println(join(",", Arrays.asList("a")));
        System.out.println(join(",", Arrays.asList("a", "b")));
        System.out.println(join(",", Arrays.asList("a", "b", "c")));
        System.out.println(join(",", Arrays.asList("")));
        System.out.println(join(",", null));

    }

    private static String join(String separator, List<String> input) {

        if (input == null || input.size() <= 0) return "";

        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < input.size(); i++) {

            sb.append(input.get(i));

           //if not the last item
            if (i != input.size() - 1) {
                sb.append(separator);
            }

        }

        return sb.toString();

    }

}

出力

a
a,b
a,b,c//empty

参考文献

  1. リンク://java8/java-8-stringjoiner-example/[Java 8 – StringJoiner

例]