【发布时间】:2021-04-04 23:47:49
【问题描述】:
我是 java 8 的新手,想编写一个函数,按值对 hashmap 进行排序,如果值是按键排序的相同。
按值对哈希图进行排序:
Map<String, Integer> map1 = new LinkedHashMap<>();
map.entrySet()
.stream()
.sorted(Map.Entry.<String, Integer>comparingByValue().reversed())
.forEachOrdered(x -> map1.put(x.getKey(), x.getValue()));
map1.forEach((k,v) ->{ System.out.println(k +" "+v);} );
我使用过 Python 3,它使用 mapSorted = sorted(map.items()、key = lambda item : (item[1], item[0])) 对键和值进行排序。 Java 8 中有类似的东西吗?
【问题讨论】:
标签: java sorting lambda java-8 comparator