java8 stream collectors.joining
为承接另一篇关于Stream介绍的文章,本文将详细讲讲Java 8流(stream)收集器(Collectors)中的joining()方法。该方法会返回一个Collectors实例,方便在流收集器上的链式操作。
Collectors.joining() 方法以遭遇元素的顺序拼接元素。我们可以传递可选的拼接字符串,前缀和后缀
joining拼接的三种形式
joining()假设我们的流中有四个元素 [“A”,“B”,“C”,“D”],那么我们就可以按照以下方式来收集它们
public class JoiningExample {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 JoiningExample {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(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
joining(CharSequence delimiter, CharSequence prefix, CharSequence suffix) 方法接受一个字符串序列作为拼接符,并在拼接完成后添加传递的前缀和后缀。假如我们传递的分隔符为 “-”,前缀为 “[” , 后缀为 “]” 。那么输出结果为 [A-B-C-D]
public class JoiningExample {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]