Collections.sort()对HashMap里的键值对按照键进行排序

   如题,下面直接上代码,当然前提是有java基础。

private ArrayList<HashMap<String, Object>> layerselectList;

layerselectList = new ArrayList<HashMap<String, Object>>(8);
tempMap = new HashMap<String, Object>();
tempMap.put("nameshow", valuename);
tempMap.put("layerindex", i);
tempMap.put("tag", tag);   //派序标示

添加相关数据,使数据结构如下,即layerselectList 打印如下:

[{tag=4, nameshow=四楼, layerindex=0, isshow=true}, {tag=3, nameshow=三楼, layerindex=1, isshow=true}, {tag=1, nameshow=一楼, layerindex=2, 

isshow=true}, {tag=2, nameshow=二楼, layerindex=3, isshow=true}]

关键代码如下:

	//进行相关数据的排序
			 Collections.sort(layerselectList, new Comparator<Map<String,Object>>() {

			      @Override
			      public int compare(Map<String,Object> firstMapEntry, 
			                 Map<String,Object> secondMapEntry) {
			    		
					    int  tag1=(Integer) firstMapEntry.get("tag");
					    
					    int  tag2=(Integer) secondMapEntry.get("tag");
			        return  (tag1>tag2?1:-1);
			      }
			    });

打印layerselectList 即如下:

[{tag=1, nameshow=一楼, layerindex=2, isshow=true}, {tag=2, nameshow=二楼, layerindex=3, isshow=true}, {tag=3, nameshow=三楼, layerindex=1, 

isshow=true}, {tag=4, nameshow=四楼, layerindex=0, isshow=true}]

实现按照楼层顺序进行排序。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值