获取与地图中最大值关联的键的最简单方法是什么?
我相信 Collections.max(someMap) 会返回最大键,当你想要对应于最大值的键时。
原文由 Ben B. 发布,翻译遵循 CC BY-SA 4.0 许可协议
获取与地图中最大值关联的键的最简单方法是什么?
我相信 Collections.max(someMap) 会返回最大键,当你想要对应于最大值的键时。
原文由 Ben B. 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了完整起见,这是一种 java-8 的实现方式
countMap.entrySet().stream().max((entry1, entry2) -> entry1.getValue() > entry2.getValue() ? 1 : -1).get().getKey();
或者
Collections.max(countMap.entrySet(), (entry1, entry2) -> entry1.getValue() - entry2.getValue()).getKey();
或者
Collections.max(countMap.entrySet(), Comparator.comparingInt(Map.Entry::getValue)).getKey();
原文由 Hilikus 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
基本上,您需要遍历地图的条目集,同时记住“当前已知的最大值”和与之关联的键。 (或者只是包含两者的条目,当然。)
例如: