//重载⽅法⼀ <R> R collect(Supplier<R> supplier, BiConsumer<R, ? super T> accumulator, BiConsumer<R, R>combiner); //重载⽅法⼆ <R, A> R collect(Collector<? super T, A, R> collector);
ArrayList::new,创建⼀个ArrayList作为累加器
List::add,对流中元素的操作就是直接添加到累加器中
reduce操作, 对⼦任务归集结果addAll,后⼀个⼦任务的结果直接全部添加到
前⼀个⼦任务结果中
CH_ID 是⼀个unmodifiableSet集合
List::add,对流中元素的操作就是直接添加到累加器中
reduce操作, 对⼦任务归集结果addAll,后⼀个⼦任务的结果直接全部添加到
前⼀个⼦任务结果中
CH_ID 是⼀个unmodifiableSet集合
小例子
List<String> list = Arrays.asList("sdfsdf","xxxx","bbb","bbb");
//List<String> results = list.stream().collect(Collectors.toList());
//list.stream().collect(Collectors.toSet());
//List<String> result = list.stream().collect(Collectors.toCollection(LinkedList::new));
List<String> result = list.stream().collect(Collectors.toCollection(CopyOnWriteArrayList::new));
Set<String> stringSet = list.stream().collect(Collectors.toCollection(TreeSet::new));
System.out.println(result);
System.out.println(stringSet); 控制台输出

本文作者为DBC,转载请注明。