什么样的清单 收集器。清单()返回?

什么样的清单 收集器。清单()返回?,第1张

什么样的清单 收集器。清单()返回

那么,这里使用List的什么具体类型(子类)?有保证吗?

如果查看的文档

Collectors#toList()
,它会指出-
“无法保证返回的List的类型,可变性,可序列化性或线程安全性”
。如果要返回特定的实现,则可以
Collectors#toCollection(Supplier)
改用。

Supplier<List<Shape>> supplier = () -> new linkedList<Shape>();List<Shape> blue = shapes.stream() .filter(s -> s.getColor() == BLUE) .collect(Collectors.toCollection(supplier));

从lambda中,您可以返回所需的任何实现

List<Shape>

更新

或者,您甚至可以使用方法参考:

List<Shape> blue = shapes.stream() .filter(s -> s.getColor() == BLUE) .collect(Collectors.toCollection(linkedList::new));


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5478979.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存