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