Arraylist添加5个学生对象,按成绩降序, 删除前三之后的学生


import java.util.ArrayList;

public class demo2 {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        list.add(new Student(1, "张亮", 98));
        list.add(new Student(2, "贾明明", 86));
        list.add(new Student(3, "贺晓光", 90));
        list.add(new Student(4, "甜甜", 89));
        list.add(new Student(5, "丽丽", 76));
        //成绩按降序排序
        list.sort((s1, s2) -> s2.getScore() - s1.getScore());
        //打印排序后的学生对象
        list.forEach(System.out::println);
        //删除前三之后的人
        for (int i = list.size() - 1; i >= 0; i--) {
            if (i > 2) {
                list.remove(i);
            }
        }
        System.out.println("=======删除前三之后的人所剩的========");
        list.forEach(System.out::println);
    }
}

public class Student {
    private int id;
    private String name;
    private int score;

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", score=" + score +
                '}';
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public int getScore() {
        return score;
    }

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

    public Student(int id, String name, int score) {

        this.id = id;
        this.name = name;
        this.score = score;
    }

    public Student() {

    }
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是Java语言的示例代码,并附有详细的注释说明: ```java import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Student implements Comparable<Student> { private String name; private int score; public Student(String name, int score) { this.name = name; this.score = score; } public String getName() { return name; } public int getScore() { return score; } @Override public int compareTo(Student other) { // 实现Comparable接口,用于Collections.sort()方法的默认排 return Integer.compare(other.score, this.score); } public static void main(String[] args) { // 创建学生对象列表 List<Student> students = new ArrayList<>(); students.add(new Student("Alice", 90)); students.add(new Student("Bob", 80)); students.add(new Student("Charlie", 70)); students.add(new Student("David", 85)); // 使用Collections.sort()方法进行排 Collections.sort(students); // 输出排结果 for (Student student : students) { System.out.println(student.getName() + " " + student.getScore()); } } } ``` 注释说明: - `Student`类:表示学生对象,包含`name`和`score`属性,实现了`Comparable`接口,用于默认排。 - `compareTo()`方法:实现`Comparable`接口的方法,用于默认排,按照成绩。 - `main()`方法:程入口,创建学生对象列表,使用`Collections.sort()`方法进行排,输出排结果。 - `Collections.sort()`方法:Java内置的排方法,可以对实现了`Comparable`接口的类进行排。 - `Comparator`接口:Java中另一种排方式,可以自定义排规则,可以作为`Collections.sort()`的第二个参数传入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Silence丶你的名字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值