集合框架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()));
        }
        

}
        
        
    }

 

posted @ 2017-05-09 21:22  苏轼的红烧肉  阅读(131)  评论(0编辑  收藏  举报