list排序

 

需要使用JDK1.8及以上

复制代码
方式一:
升序
list.sort((x, y) -> Integer.compare(x.getCusBuyCount() + x.getCusRentCount(), y.getCusBuyCount() + y.getCusRentCount()));
降序
list.sort((y, x) -> Integer.compare(x.getCusBuyCount() + x.getCusRentCount(), y.getCusBuyCount() + y.getCusRentCount()));

方式二:
升序:
list.sort(Comparator.comparing(BusinessLookReportVo::getCusBuyCount));
降序
list.sort(Comparator.comparing(BusinessLookReportVo::getCusBuyCount).reversed());
复制代码
List<Map<String, Object>>排序
复制代码
public static void main(String[] args) {
        List<Map<String, Object>> mapList = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        Map<String, Object> map1 = new HashMap<>();
        Map<String, Object> map2 = new HashMap<>();
        Map<String, Object> map3 = new HashMap<>();
        map.put("abc",12);
        mapList.add(map);
        map1.put("abc",20);
        mapList.add(map1);
        map2.put("abc",17);
        mapList.add(map2);
        map3.put("abc",25);
        mapList.add(map3);
        Collections.sort(mapList, new Comparator<Map<String, Object>>() {
            @Override
            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                Integer name1 = Integer.valueOf(o1.get("abc").toString()) ;//name1是从你list里面拿出来的一个
                Integer name2 = Integer.valueOf(o2.get("abc").toString()) ; //name1是从你list里面拿出来的第二个name
                return name1.compareTo(name2);/*正序*/
//                return name2.compareTo(name1);/*倒序*/
            }
        });

        for (Map<String, Object> maps : mapList) {
            System.out.println(maps);
        }
    }
复制代码

 

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?

随笔 - 287, 文章 - 0, 评论 - 3, 阅读 - 42万

Copyright © 2025 jiaoqing。
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示