当前位置: 首页 > news >正文

传入一个list map,寻找最大的key和对应的vlaue

我们经常遇到需要从一个list map中获取最大的金额。




public static Map.Entry<String, BigDecimal> findMaxField(List<Map<String, Object>> listMap) {
        String maxField = null;
        BigDecimal maxValue = BigDecimal.valueOf(Double.MIN_VALUE);

        for (Map<String, Object> map : listMap) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                if (entry.getValue() instanceof BigDecimal) {
                    BigDecimal value = (BigDecimal) entry.getValue();
                    if (value.compareTo(maxValue) > 0) {
                        maxValue = value;
                        maxField = entry.getKey();
                    }
                }
            }
        }
        return new AbstractMap.SimpleEntry<>(maxField, maxValue);
    }

、、解读

首先,代码初始化了一个maxField和maxValue变量,用于记录最大值对应的键和最大值本身。

然后,代码对List中的每个Map进行迭代,然后再对每个Map中的每个键值对进行迭代。如果值的类型是BigDecimal,那么就进行比较,找出最大值,并更新maxValue和maxField。

最后,方法返回一个新建的Map.Entry对象,其中包含最大值对应的键和最大值本身。

相关文章:

  • 快速定位并优化CPU 与 JVM 内存性能瓶颈
  • 黑客入侵动图特效实现
  • linux下pip下载项目失败
  • Vue.js 入门指南:从基础到实战
  • 解析跨域:原理、解决方案与实践指南
  • 算法日记20:SC72最小生成树(prim朴素算法)
  • C++ 多态详解
  • New-api大模型代理聚合创建渠道使用多个大模型
  • C++(23):利用this参数更方便的实现CRTP
  • 检索增强生成(RAG)技术应用方案设计
  • 【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用
  • 网页版的俄罗斯方块
  • 01-零基础入门嵌入式系统
  • Comsol 双层带穿孔多孔材料背衬的穿孔板的吸声:亥姆霍兹共振腔的能量耗散
  • C++类与对象深度解析(一):从引用、内联函数到构造析构的编程实践
  • 广西壮族自治区园区投促中心党委书记陶德文率团到访深兰科技
  • 【软件分享】Beyond Compare 4
  • 2025.2.19——1500
  • 认识AD2428芯片
  • js基础知识总结
  • 因操纵乙烯价格再遭诉讼,科莱恩等四家企业被陶氏索赔60亿
  • 北京今日白天超30℃晚间下冰雹,市民称“没见过这么大颗的”
  • 第十届影像上海博览会落幕后,留给中国摄影收藏的三个问题
  • 中华人民共和国和巴西联邦共和国关于强化携手构建更公正世界和更可持续星球的中巴命运共同体,共同维护多边主义的联合声明
  • 专访|导演刘江:给谍战题材注入现实主义的魂
  • 国家统计局今年将在全国开展两次人口固定样本跟访调查