- 例1:
IntStream stream = IntStream.of(1,2,3,4,5,6).filter(p->p>2);
1.串行
List re = stream.collect(()->new ArrayList<>(),List::add,List::addAll);
2、并行
List re = stream.parallel().collect(()->new ArrayList<>(),List::add,List::addAll);
List result = stream.parallel().collect(() -> new ArrayList<>(), (list, item) -> {
list.add(item);
System.out.println(list+":"+item);
}, (one, two) -> {
one.addAll(two);
System.out.println("three:"+one+":"+two);
});
- 例2:合并两个List为一个Map
List list1 = Lists.newArraryList("aa","bb","cc","dd","ee");
List list2 = Lists.newArraryList(1.0,2.0,3.0,4.0,5.0);
Map<String,Double> map = IntStream.range(0, yield.size()).collect(HashMap<String,Double>::new,(m, i)->m.put(list1.get(i), list2.get(i)),(m1, m2)->{});