List<Map>按时间排序

本文提供了一个Java中根据Map值进行排序的具体实例代码,采用匿名内部类方式实现自定义比较器,针对Map中stopTime键对应的Long类型值进行降序排列。

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

伸手党不好带,直接上源码。
Collections.sort(mapList, new Comparator<Map<String, Object>>() {
            @Override
            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                if (o1.get("stopTime") == null && o2.get("stopTime") == null)
                    return 0;
                if (o1.get("stopTime") == null)
                    return -1;
                if (o2.get("stopTime") == null)
                    return 1;
                return Long.valueOf(JSON.toJSONString(o2.get("stopTime"))).compareTo(Long.valueOf(JSON.toJSONString(o1.get("stopTime"))));
            }
        });

你可以使用Java的Collections工具类中的sort方法来对List<Map<>>进行排序。首先,你需要实现一个Comparator接口,用于定义Map的比较规则。然后,使用Collections的sort方法,并传入你实现的Comparator对象作为参数,就可以对List<Map<>>进行排序了。 以下是一个示例代码,演示如何对List<Map<>>按照Map中的某个键进行排序: ```java import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Map; public class MapSortExample { public static void main(String[] args) { List<Map<String, Integer>> list = getList(); // 假设你已经有一个List<Map<String, Integer>>对象 // 对List<Map<>>进行排序 Collections.sort(list, new Comparator<Map<String, Integer>>() { @Override public int compare(Map<String, Integer> map1, Map<String, Integer> map2) { // 这里假设你要按照Map中的键 "key" 进行升序排序 Integer key1 = map1.get("key"); Integer key2 = map2.get("key"); return key1.compareTo(key2); } }); // 输出排序后的结果 for (Map<String, Integer> map : list) { System.out.println(map); } } // 获取一个示例的List<Map<>> private static List<Map<String, Integer>> getList() { // 这里只是一个示例,你可以根据实际需求构造自己的List<Map<>> List<Map<String, Integer>> list = new ArrayList<>(); Map<String, Integer> map1 = new HashMap<>(); map1.put("key", 3); map1.put("value", 100); list.add(map1); Map<String, Integer> map2 = new HashMap<>(); map2.put("key", 1); map2.put("value", 200); list.add(map2); Map<String, Integer> map3 = new HashMap<>(); map3.put("key", 2); map3.put("value", 300); list.add(map3); return list; } } ``` 上述代码中,我们通过定义一个Comparator对象,以Map中的键 "key" 进行升序排序。然后,使用Collections.sort方法对List<Map<>>进行排序,并输出排序后的结果。 希望能够帮助到你!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值