Java中hashmap按key值排序

本文介绍两种对Java中HashMap进行排序的方法。第一种方法利用keySet转换为数组并使用Arrays.sort进行排序;第二种方法则通过将Map.entrySet转换为List并自定义Comparator实现排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Map map = new HashMap();  
map.put("4",   "a");  
map.put("2",   "b");  
map.put("1",   "c");  
map.put("3",   "d"); 
  
第一种方法: 
Java代码  收藏代码
  1. Object[] key =  map.keySet().toArray();    
  2. Arrays.sort(key);    
  3.   
  4. for(int i = 0; i<key.length; i++)  
  5. {    
  6.      System.out.println(map.get(key[i]));    
  7. }  

第二种方法: 
Java代码  收藏代码
  1. List arrayList = new ArrayList(map.entrySet());  
  2.   
  3. Collections.sort(arrayList, new Comparator()   
  4. {  
  5.   public int compare(Object arg1, Object arg2)   
  6.  {  
  7.     Map.Entry obj1 = (Map.Entry) arg1;  
  8.     Map.Entry obj2 = (Map.Entry) arg2;  
  9.     return (obj1.getKey()).toString().compareTo(obj2.getKey());  
  10.   }  
  11. });  
  12. //将HASHMAP中的数据排序  
  13. for (Iterator iter = arrayList.iterator(); iter.hasNext();)   
  14. {  
  15.    Map.Entry entry = (Map.Entry)iter.next();  
  16.    String  key = (String)entry.getKey();  
  17.    System.out.println(map.get(key));    
  18. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值