【发布时间】:2019-02-15 07:17:56
【问题描述】:
假设我原来的Map 包含以下内容:
Map<String, Set<String>> original = Maps.newHashMap();
original.put("Scott", Sets.newHashSet("Apple", "Pear", "Banana");
original.put("Jack", Sets.newHashSet("Banana", "Apple", "Orange");
我想创建一个反向的Map,其中包含以下内容:
"Apple": ["Scott", "Jack"]
"Pear": ["Scott"]
"Banana": ["Scott", "Jack"]
"Orange": ["Jack"]
我知道它可以以旧方式(Java 8 之前)完成,但是如何使用 Java Stream API 实现相同的功能?
Map<String, Set<String>> reversed = original.entrySet().stream().map(x -> ????).collect(??)
here 发布了类似的问题,但这仅适用于单值 Maps。
【问题讨论】:
-
您是否考虑过谷歌搜索:java 流反向排序?此外,它闻起来像家庭作业o.O
标签: java java-8 java-stream