Java:TreeMap中的最大值

时间:2015-10-28 20:03:27

标签: java treemaps

如果我有TreeMap:

TreeMap<String, Integer> map = new TreeMap<String, Integer>();

我想打印出价值最高的String。我已经看到了关于排序的其他问题,但我想知道是否有任何平滑的方法来获得地图中的最大值?

3 个答案:

答案 0 :(得分:1)

不,因为你需要切换你的密钥和价值。它是已排序的键。

答案 1 :(得分:1)

使用Java 8,获取具有最高值的密钥的单行程序是:

String s = map.entrySet()
              .stream()
              .max(Map.Entry::comparingByValue)
              .map(Map.Entry::getKey)
              .orElse(null);
如果s为空,

null将为map

答案 2 :(得分:0)

TreeMap<String, Integer> map = new TreeMap<String, Integer>();

变为:

Map<Integer, Collection<String>> map = new TreeMap<>();

假设您想要所有最高价值字符串,否则您只需任何此类字符串即可使用此构造:

Map<Integer, String> map = new TreeMap<>();