我猜你需要根據值的大小從這個HashMap中創建一個sortedMap。
由於HashMap無法維護排序,因此我使用LinkedHashMap並使用Java 8(Streams)。
對於升序:
Map<String, List<Integer>> collect = map.entrySet().stream()
.sorted((entry1, entry2) -> Integer.compare(entry1.getValue().size(), entry2.getValue().size()))
.collect(Collectors.toMap(Entry::getKey, Entry::getValue, (a,b) -> a, LinkedHashMap::new));
對於降序:
Map<String, List<Integer>> collect = map.entrySet().stream()
.sorted((entry1, entry2) -> Integer.compare(entry2.getValue().size(), entry1.getValue().size()))
.collect(Collectors.toMap(Entry::getKey, Entry::getValue, (a,b) -> a, LinkedHashMap::new));
這是一個HashMap;按照設計,這種結構是未分類的。你想根據它們的大小獲得一個ArrayList的排序數組嗎? –