JAVA Comparator实现排序的不同方法

it2025-06-05  5

JAVA Comparator实现排序的不同方法

public class ComparatorTest { public static void main(String[] args) { List<People> list = new ArrayList<>(); list.add(new People(1,"张三", LocalDateTime.now())); list.add(new People(22,"李四", LocalDateTime.now())); list.add(new People(4,"王五", LocalDateTime.now())); list.add(new People(3,"赵六", LocalDateTime.now())); //1.接口 Collections.sort(list, new Comparator<People>() { @Override public int compare(People o1, People o2) { return o1.getId()-o2.getId();//从小到大 } }); //2.lambda Collections.sort(list, (o1, o2) -> o1.getId()-o2.getId()); //3.Comparator.comparingInt Collections.sort(list, Comparator.comparingInt(People::getId)); //4.sort list.stream().sorted(Comparator.comparing(p->p.getId())).forEach(System.out::println); } } @Data @AllArgsConstructor @NoArgsConstructor class People { private Integer id; private String name; private LocalDateTime createTime; }

打印输出

People(id=1, name=张三, createTime=2020-10-21T23:43:47.302) People(id=3, name=赵六, createTime=2020-10-21T23:43:47.302) People(id=4, name=王五, createTime=2020-10-21T23:43:47.302) People(id=22, name=李四, createTime=2020-10-21T23:43:47.302)
最新回复(0)