java-利用ArrayList来储存对象

利用ArrayList来存储Student对象,一个学生对象包括姓名和成绩两个属性。定义Student类,包括姓名和成绩两个属性,并定义一个方法compareTo,比较两个学生的成绩,覆盖toString方法。在测试类中实现:接收学生的总数,然后创建Student对象,放入ArrayList,要求按成绩由小到大的顺序存放,最后循环输出每个学生的信息

答题不易, 有帮助的话希望点下采纳~
完成效果:

img

代码:

import java.util.Comparator;

public class Student implements Comparable{
https://img-mid.csdnimg.cn/release/static/image/mid/ask/509410328356192.png "#left")
    //定义Student类,包括姓名和成绩两个属性,并定义一个方法compareTo,比较两个学生的成绩,覆盖toString方法。
    //1.定义姓名和成绩两个属性
    private String name;
    private Integer score;

    public Student(String name, Integer score) {
        this.name = name;
        this.score = score;
    }

    //2.实现Comparable接口, 并实现compareTo方法, 降序
    @Override
    public int compareTo(Object o) {
        Student stu =(Student) o;
        //降序
        return stu.getScore()-this.getScore();
        //升序
//        return this.getScore()-stu.getScore();
    }

    //3.私有属性,添加set get方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getScore() {
        return score;
    }

    public void setScore(Integer score) {
        this.score = score;
    }

    //4..重写toString方法
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", score=" + score +
                '}';
    }
}
import java.util.ArrayList;
import java.util.Collections;

public class Test {
    public static void main(String[] args) {
        //创建ArrayList集合
        ArrayList<Student> list = new ArrayList<>();
        //添加学生对象
        Collections.addAll(list,new Student("张三",90),new Student("李四",87),new Student("王五",64)
        ,new Student("赵六",98));
        //使用student的排序逻辑进行排序
        Collections.sort(list);
        //循环打印集合
        for (Student stu : list) {
            System.out.println(stu);
        }
    }
}