gpt4 book ai didi

java - 如何使用相同的输入创建两个不同的补充列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:03 26 4
gpt4 key购买 nike

在我之前的问题中 - How to filter the age while grouping in map with list我能够使用 List<User> users 找到年龄组的名字.现在我试图根据阈值从年龄中找到不同的用户组。这个我试过了

List<User> userAboveThreshold = users.stream().filter(u -> u.getAge() > 21).collect(toList());
List<User> userBelowThreshold = users.stream().filter(u -> u.getAge() <= 21).collect(toList());

这次成功了我可以看到使用

userAboveThreshold.forEach(u -> System.out.println(u.getName() + " " + u.getAge()));
userBelowThreshold.forEach(u -> System.out.println(u.getName() + " " + u.getAge()));

但我必须再次访问用户 列表才能找到免费列表。这不能做得更简单吗?

最佳答案

你在 partitioningBy 收集器之后:

Map<Boolean, List<User>> result = 
users.stream().collect(partitioningBy(u -> u.getAge() > 21));

然后按如下方式使用:

List<User> userAboveThreshold = result.get(true);
List<User> userBelowThreshold = result.get(false);

关于java - 如何使用相同的输入创建两个不同的补充列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53869662/

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