集合测试题目.doc测试题目
某中学有若干学生(学生对象放在一个List中),每个学生有一个姓名属性、班级名称属 性(String)和考试成绩属性(int),某次考试结束后,每个学生都获得了一个考试成绩。请打印 出每个班级的总分和平均分。
参考答案:
public class TestStudent2 ( public static void main(String[] args) {
List students=new ArrayList();
students, add(new Student(〃Liucy〃,〃0701〃,100));
students, add(new Student (〃Huxz〃,〃0702〃,150));
students, add(new Student(〃George〃,〃0702〃,142));
students, add(new Student(〃Wanglin〃,〃0701〃, 80));
students, add(new Student (〃Wuwl〃,〃0701〃,91));
students, add(new Student(〃Wangr〃,〃0702〃,100));
Map m=new HashMap ();
for (int i二0; i<students. size () ; i++) {
Student s=(Student)students, get (i);
String classNumber=s. getClassNumber();
if(m. containsKey(classNumber)){
List list=(List)m. get(classNumber);
list, add(s);
}
else (
List list=new ArrayList ();
list, add(s);
m. put(classNumber, list);
}
}
Set keys=m. keySet ();
Iterator it=keys. iterator ();
while (it. hasNext ()) {
Object classNumber=it. next();
List s=(List)m. get (classNumber);
int total=0;
for (int n=0;n<s. size () ;n++) {
total=total+ ((Integer) ((Student) s. get (n)). getScore ()). intValue ();
}
System, out. printin (classNumber+^lE;总分:〃+total+〃 平均 分:〃+total/s. size ());
class Student (
private String name;
private
集合测试题目 来自淘豆网m.daumloan.com转载请标明出处.