package com.shrimpking.t4;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
/**
* Created by IntelliJ IDEA.
*
* @Author : Shrimpking
* @create 2024/9/12 11:57
*/
public class CollectStream
{
public static void main(String[] args)
{
List<String> list = Arrays.asList("one","two","three");
Stream<String> stream = list.stream();
List<String> result1 = stream.collect(
() -> new ArrayList<>(),
(al,elt) -> al.add(elt),
(list1,list2) -> list1.addAll(null)
);
System.out.println(result1);
//并行流
//以方法引用的形式传参,与上面的lambda表达式等效
stream = list.parallelStream();
List<String> result2 = stream.collect(
ArrayList::new,
ArrayList::add,
ArrayList::addAll
);
System.out.println(result2);
stream = list.parallelStream();
String result3 = stream.collect(
StringBuilder::new,
StringBuilder::append,
StringBuilder::append
).toString();
System.out.println(result3);
}
}
09-28
340
06-09
534