Luc*_*uca 4 java lambda java-8 java-stream
我找到了长期以来一直试图解决的问题的解决方案。\n不幸的是,我无法使用该解决方案,因为目标 java 版本是 Java 8。
\n\nMap<List<String>, String> map = new HashMap<>();\n map.put(List.of("Los Angeles", "New York", "Chicago"), "USA");\n map.put(List.of("Toronto", "Vancover", "Montr\xc3\xa9al"), "Canada");\n\n Map<String, String> newMap = map.entrySet()\n .stream()\n .flatMap(entry -> entry.getKey()\n .stream()\n .map(city -> Map.entry(city, entry.getValue())))\n .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)));\nRun Code Online (Sandbox Code Playgroud)\n\n这会返回给我一个像这样的地图:{New York=USA, Chicago=USA, Los Angeles=USA, Toronto=Canada}
现在我的问题是,在 Java 8 中不使用 Map.entry(...) 是否可以得到这个结果?
\n您可以使用
.map(city -> new AbstractMap.SimpleEntry<>(city, entry.getValue())))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4551 次 |
| 最近记录: |