HashMap排序

来源:互联网 发布:做淘宝需要什么设备 编辑:程序博客网 时间:2024/06/14 12:45

publicstatic HashMap<Integer, User> sortHashMap(HashMap<Integer, User> map) {  

// 首先拿到map的键值对集合  

Set<Entry<Integer, User>> entrySet = map.entrySet();

// 将set转化成list集合 为什么 因为使用 工具类的排序方法

ArrayList<Entry<Integer, User>> list =new ArrayList<Entry<Integer, User>>(entrySet);

Collections.sort(list,new Comparator<Entry<Integer, User>>() {

@Override

publicintcompare(Entry<Integer, User> o1, Entry<Integer, User> o2) {

return o2.getValue().getAge() - o1.getValue().getAge();

}

});

// 创建一个有序的HashMap集合

LinkedHashMap<Integer, User> linkedHashMap =new LinkedHashMap<Integer, User>();

//将list集合中的数据存储在LinkedHashMap 里

for(Entry<Integer,User> entry:list){

linkedHashMap.put(entry.getKey(), entry.getValue());

}

return linkedHashMap;

}

原创粉丝点击