编写sort方法并使用Lambda表达式实现对Student数组的排序 void sort(Student[] arr, CompareObject compare)
时间: 2024-04-22 21:26:13 浏览: 24
以下是使用 Lambda 表达式实现对 `Student` 数组的排序的 `sort` 方法的完整实现代码:
```java
class Student {
private String name;
private int age;
// 构造方法和其他相关方法
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
interface CompareObject {
int compare(Student s1, Student s2);
}
public class Main {
public static void main(String[] args) {
Student[] students = new Student[5];
// 初始化学生数组
sort(students, (s1, s2) -> s1.getAge() - s2.getAge());
// 打印排序后的学生数组
for (Student student : students) {
System.out.println(student.getName() + " - " + student.getAge());
}
}
static void sort(Student[] arr, CompareObject compare) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (compare.compare(arr[j], arr[j + 1]) > 0) {
Student temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
```
请注意,上述代码中的 `Student` 类是一个示例类,你需要根据自己的需求实现该类,并在 `sort` 方法中根据需要比较学生对象的属性。Lambda 表达式 `(s1, s2) -> s1.getAge() - s2.getAge()` 表示按照学生年龄进行比较。你可以根据自己的需求修改 Lambda 表达式以实现其他比较方式。