一般来讲,我们对List集合进行排序的话,最好就是通过使用一个实体类对其数据进行封装,然后再根据实体类中的某个字段进行排序。
首先创建一个实体类
class Student{
public Student() {
}
public Student(Integer age) {
this.age = age;
}
private Integer age;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"age=" + age +
'}';
}
}
随后附上我们进行排序操作的源码
public static void main(String[] args) {
//Student student = new Student();
List<Student> students = new ArrayList<>();
students.add(new Student(22));
students.add(new Student(21));
students.add(new Student(23));
students.add(new Student(25));
students.add(new Student(26));
students.add(new Student(20));
students.add(new Student(15));
students.add(new Student(1));
students.add(new Student(11));
Iterator it = students.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("排序前↑↑↑ ===== 排序后↓↓↓");
// 这里x和y分别对应比较的两个实体对象。
students.sort((x, y) -> Integer.compare(x.getAge(), y.getAge())) ;
Iterator iterator = students.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}