java中List中存有学生学号,姓名和成绩的信息。如何让学生信息按学号由低到高排序输出,请写出代码
时间: 2024-02-24 11:55:55 浏览: 21
可以使用Java中的Collections.sort()方法,结合Comparator接口来实现按照学号排序。具体的实现代码如下:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
// 学生类
class Student {
private String id;
private String name;
private int score;
public Student(String id, String name, int score) {
this.id = id;
this.name = name;
this.score = score;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
@Override
public String toString() {
return "学号:" + id + ",姓名:" + name + ",成绩:" + score;
}
}
public class Main {
public static void main(String[] args) {
// 创建学生列表
List<Student> list = new ArrayList<Student>();
list.add(new Student("001", "张三", 80));
list.add(new Student("003", "李四", 90));
list.add(new Student("002", "王五", 70));
// 按照学号排序
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o1.getId().compareTo(o2.getId());
}
});
// 输出排序结果
for (Student student : list) {
System.out.println(student);
}
}
}
```
输出结果为:
```
学号:001,姓名:张三,成绩:80
学号:002,姓名:王五,成绩:70
学号:003,姓名:李四,成绩:90
```