创建一个Student的类
里面有Id、Age 、Name
根据年龄排序,若年龄相同比较学号。
import java.util.ArrayList;
import java.util.List;
//Student类包含学号、姓名、年龄
class Student {
private int id;
private String name;
private int age;
public Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
public class StudentSortByAgeId {
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
list.add(new Student(168216, "韩一", 19));
list.add(new Student(168217, "徐二", 20));
list.add(new Student(168212, "张三", 18));
list.add(new Student(168214, "李四", 19));
list.add(new Student(168213, "王五", 19));
// 使用冒泡排序算法
for (int i = 0; i < list.size() - 1; i++) {
for (int j = 0; j < list.size() - 1 - i; j++) {
if (list.get(j).getAge() > list.get(j + 1).getAge()) {
Student student = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, student);
} else if (list.get(j).getAge() == (list.get(j + 1).getAge())) {
while (list.get(j).getId() > list.get(j + 1).getId()) {
Student student = list.get(j);
list.set(j, list.get(j + 1));
list.set(j + 1, student);
}
}
}
}
for (Student stu : list) {
System.out.println(stu);
}
}
}