如何在stream.collect(收集器)中指定具体的集合类型

时间:2017-12-14 01:19:39

标签: java-8 java-stream

我们如何从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

1 个答案:

答案 0 :(得分:3)

您可以使用构造函数引用LinkedList :: new和Collectors.toCollection方法。

list.stream().filter(i ->i%2==0).collect(Collectors.toCollection(LinkedList::new))