使用流,如何映射哈希映射中的值?
2022-09-01 00:55:20
给定一个 Person 有一个(etc)方法的地方,我怎么能把 the 变成一个从调用中获得的方法?Map<String, Person>
String getName()
Map<String, Person>
Map<String, String>
String
Person::getName()
Java 8之前我会用
Map<String, String> byNameMap = new HashMap<>();
for (Map.Entry<String, Person> person : people.entrySet()) {
byNameMap.put(person.getKey(), person.getValue().getName());
}
但我想使用流和lambda来做到这一点。
我看不出如何在函数式风格中做到这一点:Map/HashMap不实现Stream
。
people.entrySet()
返回一个我可以流式传输的内容,但是如何向目标地图添加新地图?Set<Entry<String, Person>>
Entry<String, String>