最大值如果我有一個TreeMap:的Java:在TreeMap中
TreeMap<String, Integer> map = new TreeMap<String, Integer>();
我想與最高值打印出String
。我已經看到了有關排序的其他問題,但我想知道是否有任何順利的方法可以在地圖中獲得最大值?
最大值如果我有一個TreeMap:的Java:在TreeMap中
TreeMap<String, Integer> map = new TreeMap<String, Integer>();
我想與最高值打印出String
。我已經看到了有關排序的其他問題,但我想知道是否有任何順利的方法可以在地圖中獲得最大值?
使用Java 8,獲得最高價值鑰匙的單線程是:
String s = map.entrySet()
.stream()
.max(Map.Entry::comparingByValue)
.map(Map.Entry::getKey)
.orElse(null);
s
將null
如果map
是空的。
不,您需要切換您的密鑰和價值。這是排序的關鍵。
TreeMap<String, Integer> map = new TreeMap<String, Integer>();
變爲:
Map<Integer, Collection<String>> map = new TreeMap<>();
假設你想所有最高值的字符串,否則你只是想任何這樣的字符串,你可以使用此結構:
Map<Integer, String> map = new TreeMap<>();
我在想同樣的事情,但會樹可靠地排序原始包裝類? –
是的,他們都正確實施'compareTo()'。 – Kayaman
謝謝,很高興知道。 –