当前位置: 代码迷 >> 综合 >> List中对象排序的几种常用方法
  详细解决方案

List中对象排序的几种常用方法

热度:79   发布时间:2023-10-19 01:51:19.0

1.Student类

@Data
public class Student {private Long stuId;private String name;private Integer age;private Integer sex;private Date createTime;private Date updateTime;}

2.java8

List<Student> studentList = new ArrayList<>();
//根据用户名排序
// 1
Collections.sort(studentList, (s1, s2) -> {if (s1.getName().compareTo(s2.getName()) > 0) {return 1;} else if (s1.getName().compareTo(s2.getName()) < 0) {return -1;} else {return 0 - s1.getCreateTime().compareTo(s2.getCreateTime());}
});// 2
studentList.sort(Comparator.comparing(Student::getName));// 3 - 倒序
studentList = studentList.stream().sorted(Comparator.comparing(Student::getName).thenComparing(Student::getCreateTime).reversed()).collect(Collectors.toList());

3.Comparable

//实体类实现Comparable
@Data
public class Student implements Comparable<Student> {private Long stuId;private String name;private Integer age;private Integer sex;private Date createTime;private Date updateTime;@Overridepublic int compareTo(Student s2) {if (this.getName().compareTo(s2.getName()) > 0) {return 1;} else if (this.getName().compareTo(s2.getName()) < 0) {return -1;} else {return 0 - this.getCreateTime().compareTo(s2.getCreateTime());}}
}
List<Student> studentList = new ArrayList<>();
Collections.sort(studentList);
  相关解决方案