gpt4 book ai didi

java - 如何使用collect方法的第三个参数(combiner)?

转载 作者:行者123 更新时间:2023-11-30 05:53:56 24 4
gpt4 key购买 nike

我正在学习 lambda 表达式。从一个人员列表中,我想要另一个包含 20 岁以上人员的列表。

final List<Person> people = Arrays.asList(
new Person("John", 10),
new Person("Greg", 30),
new Person("Sara", 20),
new Person("Jane", 15));

List<Person> olderThan20 =
people.stream()
.filter(person -> person.getAge() > 20)
.collect(ArrayList::new,
ArrayList::add,
ArrayList::addAll);

我的印象是只有前两个参数就足够了ArrayList::newArrayList::add .

如何以及何时使用第三个参数ArrayList::addAll以我为例?

最佳答案

此问题的“正确”答案:使用collect(Collectors.toList())。除非必要,否则使用 3 个参数版本的 collect() 根本没有任何意义。请参阅here更多细节。

有关如何使用这 3 个参数 collect(),请开始阅读 here .

关于java - 如何使用collect方法的第三个参数(combiner)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53477178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com