相关疑难解决方法(0)

如何使用列表在地图中分组时过滤年龄

类似我刚才的问题在这里,该用户我有对象是这些

new User("ayush","admin",23)
new User("ashish","guest",19) 
new User("ashish","admin",20) 
new User("garima","guest",29)
new User("garima","super",45)
new User("garima","guest",19)
Run Code Online (Sandbox Code Playgroud)

现在我试图让这些用户知道不同年龄段的名称.但是我需要在一个threshold年龄之上过滤它们.我可以使用这个趋势

Map<String, List<Integer>> userNameAndAgeTrend = users.stream().collect(Collectors.groupingBy(user-> user.getName(), Collectors.mapping(u-> u.getAge(), toList())));
Run Code Online (Sandbox Code Playgroud)

这给了我{ashish=[19, 20], garima=[29, 45, 19], ayush=[23]}.但是在我使用这种分组的情况下,我无法使用阈值正确过滤列表,例如21年.有人可以帮忙吗?

另外,使用.filter(user -> user.getAge() > 21)没有为ashish提供映射,这也是我想要存储的.我可以在我的机器上安装Java10并尝试建议的解决方案.

java grouping filter java-stream java-10

6
推荐指数
2
解决办法
145
查看次数

标签 统计

filter ×1

grouping ×1

java ×1

java-10 ×1

java-stream ×1