java list降序排序_将List<Map<String, Object>>排序,升序、降序

import java.net.SocketException;

import java.net.UnknownHostException;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.LinkedHashMap;

import java.util.List;

import java.util.Map;

public class MapSort {

public static void main(String[] args) throws UnknownHostException, SocketException {

List> listResult = new ArrayList>();

Map map1 = new LinkedHashMap();

map1.put("count", 2);

map1.put("name", "abc");

map1.put("key", "acv");

listResult.add(map1);

Map map2 = new LinkedHashMap();

map2.put("count", 3);

map2.put("name", "bbc");

map2.put("key", "bcv");

listResult.add(map2);

Map map3 = new LinkedHashMap();

map3.put("count", 1);

map3.put("name", "cbc");

map3.put("key", "ccv");

listResult.add(map3);

Map map4 = new LinkedHashMap();

map4.put("count", 4);

map4.put("name", "cbc");

map4.put("key", "ccv");

listResult.add(map4);

System.out.println("排序前:");

for (Map map : listResult) {

System.out.println("count:"+map.get("count")+" name:"+map.get("name")+" key:"+map.get("key"));

}

Collections.sort(listResult, new MapComparatorDesc());

System.out.println("降序:");

for (Map map : listResult) {

System.out.println("count:"+map.get("count")+" name:"+map.get("name")+" key:"+map.get("key"));

}

Collections.sort(listResult, new MapComparatorAsc());

System.out.println("升序:");

for (Map map : listResult) {

System.out.println("count:"+map.get("count")+" name:"+map.get("name")+" key:"+map.get("key"));

}

}

static class MapComparatorDesc implements Comparator> {

@Override

public int compare(Map m1, Map m2) {

Integer v1 = Integer.valueOf(m1.get("count").toString());

Integer v2 = Integer.valueOf(m2.get("count").toString());

if (v2 != null) {

return v2.compareTo(v1);

}

return 0;

}

}

static class MapComparatorAsc implements Comparator> {

@Override

public int compare(Map m1, Map m2) {

Integer v1 = Integer.valueOf(m1.get("count").toString());

Integer v2 = Integer.valueOf(m2.get("count").toString());

if(v1 != null){

return v1.compareTo(v2);

}

return 0;

}

}

}

/*运行结果

排序前:

count:2 name:abc key:acv

count:3 name:bbc key:bcv

count:1 name:cbc key:ccv

count:4 name:cbc key:ccv

降序:

count:4 name:cbc key:ccv

count:3 name:bbc key:bcv

count:2 name:abc key:acv

count:1 name:cbc key:ccv

升序:

count:1 name:cbc key:ccv

count:2 name:abc key:acv

count:3 name:bbc key:bcv

count:4 name:cbc key:ccv

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值