Java - Как объединить List String запятыми
В Java мы можем использоватьString.join(",", list) для присоединения к строке списка запятыми.
1. Java 8
1.1 String.join
JavaStringExample1.java
package com.example;
import java.util.Arrays;
import java.util.List;
public class JavaStringExample1 {
public static void main(String[] args) {
List list = Arrays.asList("a","b","c");
String result = String.join(",", list);
System.out.println(result);
}
}
Выход
a,b,c
1.2 Stream Collectors.joining
JavaStringExample2.java
package com.example;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class JavaStringExample2 {
public static void main(String[] args) {
List 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.example;
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 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