List、Set、Map排序详解

首先,了解一下Comparator和Comparable
通常,要对一个存储在集合内的实体类进行排序时,有两种策略:1. 实体类实现Comparable接口;2. 创建集合时指定Comparator,即实现Comparator接口;
区别:称实现Comparable的实体类是可排序的,而Comparator则称为比较器。
下面使用具体的代码来使用这两个接口(按照使用的集合分别进行讲解)

一、List

List中存储的是Integer等数据类型的话,直接使用Collections.sort(List<E> list)或者Collections.sort(List<E> list, Comparator<? super T> c)进行排序。这里讲的是自定义类的排序。

  1. 实现Comparable的方式
public class Demo {

    @Test
    public void test(){
        User user1 = new User("zhangsan", 23);
        User user2 = new User("lisi", 25);
        User user3 = new User("wangwu", 20);

        List<User> list = new ArrayList<>();
        list.add(u
上一篇:Java比较器(Comparable和Comparator)


下一篇:java学习笔记——Comparator和Comparable