1
我想通過使用JDK 8樣式函數對值進行排序。雖然我得到了排序部分,但我不確定如何在TreeMap中收集結果。有人可以解釋如何在聲明式風格中完成這件事嗎?我需要收集到另一個Map<String, String>
。Java 8 - 按值分類映射並收集結果
Map<String, String> map = new HashMap<>();
map.put("John", "time3");
map.put("Henry", "time6");
map.put("Smith", "time1");
map.put("Rock", "time2");
map.put("Ryan", "time5");
map.put("Gosling", "time4");
map.entrySet().stream()
.sorted(Map.Entry.<String, String>comparingByValue().reversed())
;
收集到'TreeMap'中是毫無意義的,因爲它不會保留排序順序,而是會自己按鍵排序。您將需要收集到保存映射順序的映射,如「LinkedHashMap」。請參見[如何在Java流中按降序對值排序LinkedHashMap?](http://stackoverflow.com/q/29860667/3920048)。 – Misha
謝謝@misha。我能夠使用LinkedHashMap解決它。 – MFIhsan