复制
收藏
提问
简洁

java创建 Student 类 属性:id,name,score 存入一个数组中 可以根据成绩排序(升序,降序) 可以根据id排序(升序,降序) 需要使用函数式接口完成 compare(stu1,stu2)

83aebc147
2个月前
全网
文档
学术
百科
知识库
时间不限
自动
回答简洁模式
深入研究一些

Java创建Student类

  • 创建Student类:定义属性id、name、score,并实现构造方法、getter和setter方法。
  • 存入数组:将Student对象存入数组中。
  • 排序功能:使用函数式接口Comparator实现成绩和id的排序。

Student类定义

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

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

    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public float getScore() {
        return score;
    }

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

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

排序功能实现

import java.util.Arrays;
import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        Student[] students = {
            new Student("1", "Alice", 88.5f),
            new Student("2", "Bob", 92.0f),
            new Student("3", "Charlie", 75.0f)
        };

        // 根据成绩排序(升序)
        Arrays.sort(students, Comparator.comparingFloat(Student::getScore));

        // 根据id排序(升序)
        Arrays.sort(students, Comparator.comparing(Student::getId));

        // 打印排序后的学生信息
        for (Student student : students) {
            System.out.println(student);
        }
    }
}

函数式接口Comparator

  • 使用Comparator.comparing方法创建比较器,实现根据成绩和id的排序。12345678910
你觉得结果怎么样?
如何实现Java中的函数式接口?
Java中如何使用Comparator接口排序?
Java Student类属性排序方法
Java数组排序的实现方式
如何在Java中根据id和成绩排序数组?
Java中如何定义和使用lambda表达式?

以上内容由AI搜集生成,仅供参考

在线客服