题目来自互联网
已知一个 HashMap<Integer,User>集合, User 有 name(String)和 age(int)属性。请写一个方法实现对HashMap 的排序功能,该方法接收 HashMap<Integer,User>为形参,返回类型为 HashMap<Integer,User>,要求对 HashMap 中的 User 的 age 倒序进行排序。排序时 key=value 键值对不得拆散。
思路:
HashMap本身不可以排序的。但是该题需要对HashMap排序,所以我们会首先想到LinkedHashMap。LinkedHashMap既是哈希表又是链表结构,是有序的。
凡是对集合的操作,我们应该保持一个原则就是能用jdk中的api就用,所以这次排序,我们用collections工具提供的排序。如果需要使用,那么久必须把集合变成list集合。
public class HashMapTest{
public static void