方法:java.util.stream.collect():
<R> R collect(Supplier<R> supplier,
ObjIntConsumer<R> accumulator,
BiConsumer<R, R> combiner);
需求:把特化流转化为一般流,最终转化为List集合。用到了collect的三个参数的重载构造函数。
如下:
ArrayList list = IntStream.of(1, 2, 3, 4, 5, 6)
.collect(() -> new ArrayList(), List::add, List::addAll);
通过下面的方式也可以达到相同的效果:
List<Integer> list = IntStream.of(1, 2, 3, 4, 5, 6)
.boxed().collect(Collectors.toList());