英文:
How to write code for below problem using Java 8 stream
问题
Map<String, Integer> hm = new HashMap<>();
// hm中包含员工的姓名和年龄。
// 如何使用Java 8中的流(Stream)概念找到年龄大于25的所有员工的姓名?
// 我尝试了以下方法:
hm.entrySet().stream()
.filter(entry -> entry.getValue() > 25)
.map(Map.Entry::getKey)
.collect(Collectors.toList());
// 有人可以纠正我吗?
英文:
Map<String,Integer> hm = new HashMap<>();
hm contains name and Age of Employees.
How to find the names of all employees whose age > 25 using java 8 streams concept
I attempted like this
hm.stream().filter(x->Map.Entry.getValue(x)>25).collect(collectors.toList());
Could anyone correct me?
答案1
得分: 1
你不能直接通过 Map 获得流。您可以获得地图的 .entrySet()
,然后按年龄进行过滤,并将名称收集到列表中。
List<String> list = hm.entrySet().stream()
.filter(x -> x.getValue() > 25)
.map(e -> e.getKey())
.collect(Collectors.toList());
英文:
You can't get stream over Map directly. You can get .entrySet()
of the map then filter by age and collect names in a list.
List<String> list = hm.entrySet().stream()
.filter(x -> x.getValue() > 25)
.map(e -> e.getKey())
.collect(Collectors.toList());
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论