定义一个Student类,其属性有学号id和姓名name,

定义一个Student类,其属性有学号id和姓名name,为了方便显示,该类覆盖了父类Object的toString()方法,返回以下格式的字符串:"学号:"+id+" 姓名:"+name。 在main方法中创建ArrayList对象list,并添加3个Student类对象,并将list的所有元素分行显示;然后用自定义的比较器将list的元素按学号升序排序后输出。

思路:新建一个Student类,其中包含学号id和姓名name,并且重写toString()方法,目的是为了打印的是对象内容而不是地址。
效果图:
img
代码如下:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Student {
    private Integer id;
    
    private String name;
    

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

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

    @Override
    public String toString() {
        return "学号:"+id+" 姓名:"+name;
    }
    
    public static void main(String[] args) {
        List<Student> list=new ArrayList<Student>();
        list.add(new Student(1,"小白"));
        list.add(new Student(3,"小兰"));
        list.add(new Student(2,"小明"));
        System.out.println("list的所有元素如下:");
        for (Student student : list) {
            System.out.println(student);
        }
        Comparator<Student> comparator =new Comparator<Student>(){
            public int compare(Student s1, Student s2) { 
                if(s1.getId()>s2.getId()){ 
                    return 1; 
                }else{ 
                    return -1; 
                     
                } 
            }
        };
        Collections.sort(list,comparator); 
        System.out.println("按学号升序排序后输出如下:");
        for (Student student : list) {
            System.out.println(student);
        }
    }
}
import java.util.ArrayList;
import java.util.List;

/*
 * 定义一个Student类,其属性有学号id和姓名name,为了方便显示,该类覆盖了父类Object的toString()方法,
 * 返回以下格式的字符串:"学号:"+id+" 姓名:"+name。 在main方法中创建ArrayList对象list,
 * 并添加3个Student类对象,
 * 并将list的所有元素分行显示;然后用自定义的比较器将list的元素按学号升序排序后输出。
 * */
public class 学生类 {
    int id;
    String name;
    public 学生类() {}
    public 学生类(int id,String name) {
        this.id = id;
        this.name = name;
    }
    
    @Override
    public String toString() {
        return "学号:"+id+",姓名:" + name;
    }
    public static void main(String[] args) {
        学生类 s1 = new 学生类(1,"张三");
        学生类 s2 = new 学生类(2,"李四");
        学生类 s3 = new 学生类(3,"王五");
        List<学生类> list = new ArrayList<学生类>();
        list.add(s1);
        list.add(s2);
        list.add(s3);
        for(学生类 s :list) {
            System.out.println(s);
        }
        
    }
}