Java 如何让HashMap集合按照key进行排序呢?

转自:

Java 如何让HashMap集合按照key进行排序呢?

下文笔者讲述java中HashMap集合按照key排序的方法分享,如下所示:

实现思路:
    方式1:
	   获取key集合,然后在Collections.sort(key集合)
	方式2:
	   自定义一个外部比较器,在比较器中设置其比较规则

例:

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("t",8888);
map.put("a",9999); 
Set keySet = map.keySet();
Collections.sort(keySet);
for(Iterator ite = keySet.iterator(); ite.hasNext();) {
  String k = ite.next();
  System.out.println("key-value: "+k+","+map.getValue(v);
} 

//如果需按照key降序排列时,我们需重写sort方法 
Collections.sort(keySet, new Comparator() {
    public int compare(Object o1, Object o2) {
        if (Integer.parseInt(o1.toString()) > Integer.parseInt(o2.toString()) return 1;
        if (Integer.parseInt(o1.toString()) == Integer.parseInt(o2.toString()) return 0;
        else return - 1;
    }
}); 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值