前言
本类所有方法均已加入cntool
,可以选择使用本类方法也可以选择使用cntool
以maven坐标方式调用,cntool
介绍👉cntool介绍
复制代码进项目实现
使用前请在将方法中的CHOOSE
参数改为字符串类型的min
,或者在方法类上加入如下参数
private static final String CHOOSE = "min";
1.获取map集合最大或最小值对应的key(value类型为BigDecimal)
该方法仅用来判断value为BigDecimal类型的Map集合
/**
* 获取map集合最大或最小值对应的key
* 该方法仅用来判断value为BigDecimal类型的Map集合
*
* @param map 集合
* @param choose min最小值 max最大值
* @return 最大或最小值的key
*/
public static String minOrMaxValueKeyBigDecimal(Map<?, BigDecimal> map, String choose) {
List<Map.Entry<?, BigDecimal>> list = new ArrayList<>(map.entrySet());
list.sort(Comparator.comparingDouble(o -> o.getValue().doubleValue()));
if (choose.equals(CHOOSE)) {
return String.valueOf(list.get(0).getKey());
}
return String.valueOf(list.get(list.size() - 1).getKey());
}
2.获取map集合最大或最小值对应的key(value类型为Integer)
该方法仅用来判断value为Integer类型的Map集合
/**
* 获取map集合最大或最小值对应的key
* 该方法仅用来判断value为Integer类型的Map集合
*
* @param map 集合
* @param choose min最小值 max最大值
* @return 最大或最小值的key
*/
public static String minOrMaxValueKeyInteger(Map<?, Integer> map, String choose) {
List<Map.Entry<?, Integer>> list = new ArrayList<>(map.entrySet());
list.sort(Comparator.comparingInt(Map.Entry::getValue));
if (choose.equals(CHOOSE)) {
return String.valueOf(list.get(0).getKey());
}
return String.valueOf(list.get(list.size() - 1).getKey());
}