如果这是重复的,我深表歉意,但我找不到任何专门回答这个特定问题的答案。
我有一个 HashMap,其中包含一个与 Set 值配对的字符串键。我想根据集合的长度对地图中的值进行排序。考虑:
HashMap<String, Set<String>> myMap;
包含:
{"A", {"Dukmerriot", "King", "Pumpkin"}}
{"B", {"Steve"}}
{"C", {"Jib", "Jab", "John", "Julie"}}
{"D", {"Apple", "Amy", "Unicorn", "Charlie", "Raptor"}}
{"E", {}}
我希望能够有效地获取列表{"D", "C", "A", "B", E"}
(指定集合从最大到最小的顺序)myMap
。
除了创建实现 Set 并覆盖该compareTo
方法的包装类之外,有没有办法根据集合的长度对集合进行排序?
编辑:我应该指定我不需要使用 HashMap 来维护这个集合。我可以使用 TreeMap 或其他东西,但我不确定这是否可能,因为 Set 没有实现 Comparable。