list集合取相同数据求平均分 5C

List> list = new ArrayList>();
Map map = new HashMap();
map.put("name", "语文");
map.put("score", 80);

``````    Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("name", "数学");
map2.put("score", 76);

Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("name", "语文");
map3.put("score", 90);

Map<String, Object> map4 = new HashMap<String, Object>();
map4.put("name", "数学");
map4.put("score", 80);

Map<String, Object> map5 = new HashMap<String, Object>();
map5.put("name", "英语");
map5.put("score", 89);
``````

12个回答

for(int i=0;i<list.size();i++){
String name =(String) list.get(i).get("name");
Integer count=0;
for(int j=0;j<list.size();j++){
if(name.equals(list.get(j).get("name"))){
//计算有相同的
count+=Integer.valueOf(String.valueOf(list.get(j).get("score")));
list.remove(j);
//重置
j-=1;
}

``````        }
//计算没有相同的
if(count==0){
count+=Integer.valueOf(String.valueOf(list.get(i).get("score")));
}
System.out.println(name+"--"+count);
//重置
i-=1;
}
``````

Map map3 = new HashMap();
map3.put("name", "语文");
map3.put("score", 90);

``````Map<String, Object> map4 = new HashMap<String, Object>();
map4.put("name", "数学");
map4.put("score", 80);

Map<String, Object> map5 = new HashMap<String, Object>();
map5.put("name", "英语");
map5.put("score", 89);
Map<String, Object> map6 = new HashMap<String, Object>();
map6.put("name", "英语");
map6.put("score", 91);
//key是科目，value是int数组，数组第一位代表当前平均分，第二位个数
Map<String, int[]> averageMap = new HashMap<>();
list.forEach(item -> {
String name = String.valueOf(item.get("name"));
int[] averageScoreArr = averageMap.get(name);
int score = Integer.parseInt(String.valueOf(item.get("score")));
if (averageScoreArr == null) {
averageScoreArr = new int[]{score, 1};
averageMap.put(name, averageScoreArr);
} else {
int averageScore = averageScoreArr[0];//前一次平均值
int count = averageScoreArr[1];//出现次数
averageScoreArr[0] = (averageScore * count + score) / (count + 1);
averageScoreArr[1] = count + 1;
}
});
//测试结果
averageMap.forEach((k, v) -> System.out.println(k + "=" + v[0]));
``````

}

winForm 控件绑定list集合做为数据源的问题，求助

java List集合与redis数据快速比对

java 中list集合中对象的声明周期
**list集合中存放是是堆中的对象，但如果堆中的对象被回收后就变成了空？还是只要list集合存在就不会被回收？如果会被回收的话，怎样保证集合内的数据在list存在时长期有效？？求大牛帮助**
mybatise 接收list集合参数

java集合合并相同元素

java HashMap存储list集合的问题

[size=x-large]请问：怎样对List集合中的数据进行排序啊？？ 请给与详解！！！ 谢谢[/size]

list集合中没有元素,可以继续调用方法吗?
list集合中没有元素,可以继续调用方法吗?没有元素的意思是不是就是说这个集合=null

Java学习的正确打开方式

linux系列之常用运维命令整理笔录

Python 基础（一）：入门必备知识

Python十大装B语法
Python 是一种代表简单思想的语言，其语法相对简单，很容易上手。不过，如果就此小视 Python 语法的精妙和深邃，那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点，并附上详细的实例代码。如能在实战中融会贯通、灵活使用，必将使代码更为精炼、高效，同时也会极大提升代码B格，使之看上去更老练，读起来更优雅。 1. for - else 什么？不是 if 和 else 才

2019年11月中国大陆编程语言排行榜
2019年11月2日，我统计了某招聘网站，获得有效程序员招聘数据9万条。针对招聘信息，提取编程语言关键字，并统计如下： 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7

SQL-小白最佳入门sql查询一

“狗屁不通文章生成器”登顶GitHub热榜，分分钟写出万字形式主义大作

《程序人生》系列-这个程序员只用了20行代码就拿了冠军