有七个学生,他们有学号,姓名,性别,年龄,院系,班级按照年龄用TreeSet排序
时间: 2023-08-05 13:07:30 浏览: 70
解决TreeSet类的排序问题
5星 · 资源好评率100%
可以先创建一个学生类 `Student`,包含学号、姓名、性别、年龄、院系、班级等属性,并实现 `Comparable` 接口,重写 `compareTo()` 方法用于按年龄排序。
```java
public class Student implements Comparable<Student> {
private int id;
private String name;
private String gender;
private int age;
private String department;
private String clazz;
public Student(int id, String name, String gender, int age, String department, String clazz) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
this.department = department;
this.clazz = clazz;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getAge() {
return age;
}
public String getDepartment() {
return department;
}
public String getClazz() {
return clazz;
}
@Override
public int compareTo(Student o) {
return this.age - o.age;
}
}
```
然后创建一个 `TreeSet` 对象并添加七个学生,最后输出按年龄排序后的学生信息。
```java
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
TreeSet<Student> set = new TreeSet<>();
set.add(new Student(1, "张三", "男", 20, "计算机科学与技术", "1901"));
set.add(new Student(2, "李四", "女", 22, "信息与通信工程", "1902"));
set.add(new Student(3, "王五", "男", 21, "软件工程", "1903"));
set.add(new Student(4, "赵六", "女", 23, "电子科学与技术", "1901"));
set.add(new Student(5, "钱七", "男", 20, "计算机科学与技术", "1902"));
set.add(new Student(6, "孙八", "女", 21, "信息与通信工程", "1903"));
set.add(new Student(7, "周九", "男", 22, "软件工程", "1901"));
for (Student student : set) {
System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getGender()
+ "\t" + student.getAge() + "\t" + student.getDepartment() + "\t" + student.getClazz());
}
}
}
```
输出结果:
```
5 钱七 男 20 计算机科学与技术 1902
1 张三 男 20 计算机科学与技术 1901
3 王五 男 21 软件工程 1903
6 孙八 女 21 信息与通信工程 1903
2 李四 女 22 信息与通信工程 1902
7 周九 男 22 软件工程 1901
4 赵六 女 23 电子科学与技术 1901
```
阅读全文