主页 > 创业  > 

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

传入一个listmap,寻找最大的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 pareTo(maxValue) > 0) { maxValue = value; maxField = entry.getKey(); } } } } return new AbstractMap.SimpleEntry<>(maxField, maxValue); }

、、解读

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

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

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

标签:

传入一个listmap,寻找最大的key和对应的vlaue由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“传入一个listmap,寻找最大的key和对应的vlaue