集合框架13
public class Student { String name; int age; double score; String classname; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } public String getClassname() { return classname; } public void setClassname(String classname) { this.classname = classname; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + ", score=" + score + ", classname=" + classname + "]"; } public Student(String name, int age, double score, String classname) { super(); this.name = name; this.age = age; this.score = score; this.classname = classname; } public Student() { super(); } }
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; public class TestClass { public static void main(String[] args) { List<Student> list=new ArrayList<Student>(); int sum=0; list.add(new Student("tom", 18, 100, "class05")); list.add(new Student("jerry",22,700, "class04")); list.add(new Student("owen", 25, 100, "class05")); list.add(new Student("jim", 30, 100, "class05")); list.add(new Student("steve", 28, 100, "class06")); list.add(new Student("kevin", 24, 100, "class04")); for(int i=0;i<list.size();i++){ sum+=list.get(i).getAge(); } double area=sum/list.size(); System.out.println(area); /* * 统计每个班的平均分;算法 */ Map<String,List<Student>>map=new HashMap<String,List<Student>>(); //map是否有此班级 for(Student s:list){ if(!map.containsKey(s.getClassname())){ map.put(s.getClassname(),new ArrayList<Student>()); } map.get(s.getClassname()).add(s); } //统计每个班级的学生 Set<String>set=map.keySet(); for(String s:set){ System.out.println(s+"的学生有"); //当前班级的学生集合 List<Student>l=map.get(s); int s2=0; for(Student s1:l){ System.out.println(s1); s2+=s1.getScore(); } System.out.println("平均分是:"+(double)(s2/l.size())); } } }