我有一個名為 "相關性 "的HashMap<Integer, Integer>,例如{2: 3, 1: 3, 3: 3, 5: 4, 4: 4, 6: 3},我想按值進行DESC排序。
Map<Integer, Integer> sortedRelevance = new LinkedHashMap<> ();
relevance.entrySet()
.stream()
.sorted(Map.Entry.<Integer, Integer>comparingByValue(Comparator.reverseOrder()))
.forEachOrdered(x -> sortedRelevance.put(x.getKey(), x.getValue())。
我得到一個哈希瑪{5: 4, 4: 4, 2: 3, 1: 3, 3: 3, 6: 3}。我如何對具有相同值的鍵進行升序排序?
uj5u.com熱心網友回復:
你可以通過添加對thenComparing的呼叫來 "連鎖 "比較器:
Map<Integer, Integer> sortedRelevance = new LinkedHashMap<> ();
relevance.entrySet()
.stream()
.sorted(Map.Entry.<Integer, Integer> comparingByValue(Comparator.reverseOrder()
.thenComparing(Map.Entry.comparingByKey()))
.forEachOrdered(x -> sortedRelevance.put(x.getKey(), x.getValue())。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/310790.html
標籤:
下一篇:用條件對字符列進行排序/排列
