百度了一下,差不多都是value排序,但是我只需要取最大值最小值和计算最大最小的平均值,随便写了一个,不知道会存在什么问题,慎重使用。。。
public Map<String,Double> getMapMaxMinAvg(Map<String,Double> map){
List<Double> list = new ArrayList<Double>();
for (Double value : map.values()) {
list.add(value);
}
Double max = Collections.max(list);
Double min = Collections.min(list);
Double avg = (max+min)/2;
map.put("max", max);
map.put("min", min);
map.put("avg", avg);
return map;
}
看到还有人能刷到这个,为了不产生误导,特意
附上一篇计算须知:项目中BigDecimal与Double使用场景 - 森林木马 - 博客园 (cnblogs.com)
然后我测了一下结果真的是这样,好在我打印了一下平均数是没有影响的
为了不误导,赶紧贴出来,请大家注意计算问题
另外评论一楼大佬的代码比较简洁,推荐一下;
依然是个小白,有问题不要咬我,我发现的问题会贴上来的