关于java:使用Integer作为Key和ArrayList对hashmap进行排序

Sorting an hashmap with Integer as Key and ArrayList

我有一个HashMap的情况

Map key = new HashMap();

数组列表有[rankOfCard,suitOfCard]

我想以这样的方式对这个Map进行排序:如果值是

1
2
3
4
5
(1,[3,1])
(2,[2,4])
(3,[1,3])
(4,[1,2])
(5,[2,3])

输出应该是:

1
2
3
4
5
(4,[1,2])
(3,[1,3])
(5,[2,3])
(2,[2,4])
(1,[3,1])

我怎样才能做到这一点?


通过入口集和Collection.sort(entry.value())进行迭代


Map未排序,因此它不是您的任务的正确数据结构。
一个SortedMap对键进行排序,所以它也不好,因为你希望你的地图按值排序。

您的问题没有说明Map的键是什么,但也许您可以在常规List中使用自定义类,并让类实现Comparable接口,或实现外部Comparator, 排序List