In Java, we can use String.join(",", list) to join a List String with commas.

1. Java 8

1.1 String.join

JavaStringExample1.java

package com.favtuts.java8;

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

public class JoinListString {
    
    public static void main(String[] args) {
        joinListStringWithStringJoin();
    }

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

        System.out.println(result);
    }
}

Output

a,b,c

1.2 Stream Collectors.joining

JavaStringExample2.java

package com.favtuts.java8;

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

public class JoinListString {
    
    public static void main(String[] args) {
        joinListStringWithCollectorsJoining();
    }

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

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

        System.out.println(result);
    }

}

Output

a,b,c

2. In Old Days

Create a custom method to join the String with separator manually.

JavaStringExample3.java

package com.favtuts.java8;

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

public class JoinListString {
    
    public static void main(String[] args) {
        joinListStringWithCustomMethod();
    }

    static void joinListStringWithCustomMethod() {
        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();

    }

}

Output

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

Download Source Code

$ git clone https://github.com/favtuts/java-core-tutorials-examples

$ cd java-basic/java8

References

  1. Java 8 – StringJoiner example

Leave a Reply

Your email address will not be published. Required fields are marked *