您可能具有以下内容:
Map<Integer, List<Integer>> sorted = map.entrySet() .stream() .sorted(comparing(e -> ex.get(e.getKey()), reverseOrder())) .collect(toMap(Map.Entry::getKey,e -> e.getValue().stream().sorted(comparing(ex::get, reverseOrder())).collect(toList()),(v1, v2) -> { throw new IllegalStateException(); },linkedHashMap::new ));这将创建一个映射条目的流,根据该条目的键的键计数以相反的顺序对它们进行排序,最后将其收集到一个映射中,在该映射中,新值相对于每个整数的计数以相反的顺序进行排序(
ex::get)。收集地图是
linkedHashMap为了保留遭遇顺序。
输出:
{1=[2, 3, 0], 2=[4, 1, 0], 3=[4, 1, 5], 4=[2, 3, 5], 0=[1, 2], 5=[4, 3]}使用的静态导入:
import static java.util.Comparator.comparing;import static java.util.Comparator.reverseOrder;import static java.util.stream.Collectors.toList;import static java.util.stream.Collectors.toMap;



