java中list.sort的用法是什么

在Java中,List是一个接口,而不是一个具体的实现类。List接口提供了一个sort方法,用于对列表中的元素进行排序。

sort方法有两种重载形式:

void sort(Comparator<? super E> c):根据指定的比较器对列表进行排序。比较器是一个函数式接口,它定义了一个用于比较两个元素的方法。该方法接受一个Comparator对象作为参数,该对象用于确定元素的顺序。比较器可以是匿名内部类,也可以是Lambda表达式。

示例:

List<Integer> list = Arrays.asList(3, 1, 2);
list.sort(new Comparator<Integer>() {
    @Override
    public int compare(Integer o1, Integer o2) {
        return o1.compareTo(o2);
    }
});

void sort(Comparator<? super E> c):根据元素的自然顺序对列表进行排序。元素的自然顺序是通过元素类实现Comparable接口来定义的。元素类必须实现compareTo方法,该方法用于比较两个元素的顺序。

示例:

List<String> list = Arrays.asList("c", "a", "b");
list.sort();

需要注意的是,List接口不是一个可排序的集合,只有实现了List接口的类(如ArrayList)才能使用sort方法。此外,sort方法会直接修改原始列表的顺序,而不是返回一个新的排序后的列表。

阅读剩余
THE END