我们如何从Stream.collect()方法
创建一些Concrete集合类型例如,对于下面的示例,我想创建LinkedList而不是通用List。
List<Integer> list = Arrays.asList(10,20,30,40);
List<Integer> collect3 = list.stream().filter(i ->i%2==0).collect(Collectors.toList());
如何指定,我需要创建LinkedList
答案 0 :(得分:3)
您可以使用构造函数引用LinkedList :: new和Collectors.toCollection方法。
list.stream().filter(i ->i%2==0).collect(Collectors.toCollection(LinkedList::new))