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; @Override public 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);