如何计算MultiMap的List值?

时间:2013-07-01 10:41:15

标签: java guava

例如,我正在保持学生的学校成绩。 所以在MultiMap我有学生姓名和所有科目的分数

e.g.  {Anne, { 54, 23, 54, 65, 76}

我想生成一个由StudentName,Average marks组成的Map 在这种情况下是{Anne, 54.4}

1 个答案:

答案 0 :(得分:1)

Map<String,Double> map = new HashMap<String,Double>();
for (String name : multimap.keySet())
{
     List<Integer> marks = multimap.get(name);
     int sum = 0 ;
     for (Integer num : marks )
     {
         sum += num;
     }
     double avg = (double)sum / marks.size();
     map.put(name,avg);
}