HashMap的排序方法

匿名 (未验证) 提交于 2019-12-03 00:08:02

因为Map中LinkedhashMap是有序的,所以将HashMap转化为LinkedHashMap可以实现排序

public Static Map<String,String> sortHashMap(Map<String,String> map){     Map<String,String> sortedMap = new LinkedHashMap<String,String>();     List<String> list = new ArrayList<String>();     Iterator<String> item = map.keySet.iterator();     while(item.hasNext()){         list.add(item.next());     }     Collections.sort(list);     Iterator<String> item2 = list.iterator();     while(item2.hasNext()){         String key = item2.next();         sortedMap.put(key,map.get(key));     }     return sortedMap; } 

map.keySet 此方法获得到的是HashMap的key值的Set集合

大致步骤:

1.创建一个LinkedHashMap<String,String>集合,用来存储最终返回的有序的HashMap集合
2.创建一个ArrayList<String>集合,通过map.keySet.iterator()获得待排序HashMap集合的key值的迭代
3.迭代遍历,将key值存储在ArrayList<String>集合中
4.Collections.sort(list)ArrayList<String>集合进行排序
5.迭代遍历ArrayList<String>集合,将值赋存在key中.
sortedMap.put(key,map.get(key)); 根据key获取值,将新的键值对存在新的HashMap中

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!