HashMap的排序方法
程序员文章站
2022-06-05 14:17:25
...
因为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中
上一篇: 牛肉粥怎么做好吃,你知道吗?