我想通过附加到每个键的特定 rank 对HashMap进行分组。密钥可以是 rank 1或2.因此,最后,应该以{{1}}的形式映射和输出给定的输入散列映射,如<String, Integer>
- 其中密钥为输出映射是 rank ,值是原始输入映射中具有该等级的所有字符串的Set。如果输出映射中的集合按原始映射中的值的降序排序,那也很好。
以下是我最初的做法并且它有效,但我想使用toMap函数,感觉这个方法有点矫枉过正。
<Integer, Set<String>>
答案 0 :(得分:3)
您正在寻找的不是toMap
而是
iMap.entrySet().stream()
.collect(groupingBy(
Entry::getValue,
mapping(Entry::getKey, toSet())));