本章节我们来详细讲讲 Java 8 流 ( stream ) 收集器 ( Collectors ) 中的 joining() 方法。该方法会返回一个 Collectors 实例,方便在流收集器上的链式操作。
Collectors.joining() 方法以遭遇元素的顺序拼接元素。我们可以传递可选的拼接字符串、前缀和后缀
joinning() 方法定义
假设我们的流中有四个元素 [“A”,“B”,“C”,“D”],那么我们就可以按照以下方式来收集它们
一、joining()
joinning() 无参数方法会返回一个 Collectors 实例,并且以空字符串 ( “” ) 来拼接收集到的所有元素。例:
public class join{
public static void main(String[] args) {
List<String> list = Arrays.asList("A","B","C","D");
String result= list.stream().collect(Collectors.joining());
System.out.println(result);
//结果ABCD
}
}
二、joining(CharSequence delimiter)
joining(CharSequence delimiter) 接受一个参数字符串序列作为拼接符,并返回一个 Collectors 实例。假如我们传递的拼接符为 “-” 。那么输出结果为 A-B-C-D。例:
public class join{
public static void main(String[] args) {
List<String> list = Arrays.asList("A","B","C","D");
String result= list.stream().collect(Collectors.joining("-"));
System.out.println(result);
//结果A-B-C-D
}
}
三、joining(delimiter, prefix, suffix)
joining(delimiter, prefix, suffix)方法返回一个Collector收集器,它以遇见顺序将由指定分隔符分隔的输入元素与指定的前缀和后缀连接起来。
public class join{
public static void main(String[] args) {
List<String> list = Arrays.asList("A","B","C","D");
String result= list.stream().collect(Collectors.joining(",","[","]"));
System.out.println(result);
//结果: [A,B,C,D]
}
}