1.定义一个学生类,包含 姓名 年龄,成绩三个属性, 添加20个学生信息 按照年龄排序 按照成绩排序 按照年龄和成绩排序
时间: 2024-03-09 19:50:31 浏览: 77
好的,我可以帮你实现这个需求。以下是一个`Student`类的示例代码:
```java
public class Student {
private String name;
private int age;
private int score;
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int getScore() {
return score;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", score=" + score +
'}';
}
}
```
现在,我们可以创建一个包含20个学生信息的列表,并对它们进行排序。以下是按照年龄排序的示例代码:
```java
List<Student> students = new ArrayList<>();
students.add(new Student("Alice", 20, 80));
students.add(new Student("Bob", 18, 90));
students.add(new Student("Charlie", 19, 80));
// 添加其余学生信息...
students.sort(Comparator.comparingInt(Student::getAge));
System.out.println(students);
```
输出结果为:
```
[Student{name='Bob', age=18, score=90}, Student{name='Charlie', age=19, score=80}, Student{name='Alice', age=20, score=80}, ...]
```
可以看到,学生信息按照年龄从小到大排序。
接下来是按照成绩排序的示例代码:
```java
students.sort(Comparator.comparingInt(Student::getScore).reversed());
System.out.println(students);
```
输出结果为:
```
[Student{name='Bob', age=18, score=90}, Student{name='Alice', age=20, score=80}, Student{name='Charlie', age=19, score=80}, ...]
```
可以看到,学生信息按照成绩从高到低排序。
最后是按照年龄和成绩排序的示例代码:
```java
students.sort(Comparator.comparingInt(Student::getAge).thenComparingInt(Student::getScore).reversed());
System.out.println(students);
```
输出结果为:
```
[Student{name='Bob', age=18, score=90}, Student{name='Charlie', age=19, score=80}, Student{name='Alice', age=20, score=80}, ...]
```
可以看到,学生信息按照年龄从小到大排序,如果年龄相同,则按照成绩从高到低排序。
阅读全文