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

传入一个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对象,其中包含最大值对应的键和最大值本身。


http://www.kler.cn/a/554279.html

相关文章:

  • 【PLL】应用:同步
  • vue3里组件的v-model:value与v-model的区别
  • MAC地址是如何在局域网中工作的?
  • 图数据库Neo4j面试内容整理-节点标签(Label)
  • DeepSeek动画视频全攻略:从架构到本地部署
  • Windows实现无感锁屏
  • 【C语言】CreateFile函数用法介绍
  • 【SpringBoot整合系列】Kafka的各种模式及Spring Boot整合的使用基础案例
  • React 源码揭秘 | CompleteWork “归“的过程
  • jupyterhub_config配置文件内容
  • 5G-A的尔滨故事,冰雪下的科技春潮
  • MIMO系统信道容量(开环与闭环)
  • 蓝桥杯 Java B 组之区间调度、找零问题(理解贪心局限性)
  • 解锁机器学习核心算法|神经网络:AI 领域的 “超级引擎”
  • 线性代数中的向量与向量空间
  • 深入解析:短轮询、长轮询、长连接与WebSocket(原理到实现)
  • ubuntu安装docker docker/DockerHub 国内镜像源/加速列表【持续更新】
  • 2.19学习(php文件后缀)
  • C语言循环结构详解
  • java项目之风顺农场供销一体系统的设计与实现(源码+文档)