因为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中
来源:51CTO
作者:是CC鸭
链接:https://blog.csdn.net/cuichen16/article/details/100936555