Java List排序的四种写法

作者:很菜不狗2024.01.17 11:33浏览量:41

简介:Java中的List接口提供了多种排序方法,本文将介绍四种常见的排序写法,包括使用Collections.sort()方法、使用Lambda表达式和Comparator接口、使用Java 8的流(Stream) API以及使用Java 9的排序方法。

在Java中,List接口提供了多种排序方法。以下是一些常见的排序写法:

  1. 使用Collections.sort()方法
    Collections.sort()方法是Java中用于对List进行排序的常用方法。它使用默认的排序规则对List进行排序。例如,对于Integer类型的List,它会按照升序排序。对于自定义类型的List,它会按照对象的自然顺序进行排序。
    1. List<Integer> list = new ArrayList<>();
    2. list.add(3);
    3. list.add(1);
    4. list.add(2);
    5. Collections.sort(list);
    6. System.out.println(list); // [1, 2, 3]
  2. 使用Lambda表达式和Comparator接口
    如果需要按照自定义规则对List进行排序,可以使用Lambda表达式和Comparator接口。Lambda表达式用于定义比较器,Comparator接口用于定义比较规则。例如,下面的代码将按照降序对一个字符串类型的List进行排序:
    1. List<String> list = new ArrayList<>();
    2. list.add("apple");
    3. list.add("banana");
    4. list.add("cherry");
    5. list.sort((s1, s2) -> s2.compareTo(s1));
    6. System.out.println(list); // [cherry, banana, apple]
  3. 使用Java 8的流(Stream) API
    从Java 8开始,可以使用流(Stream) API对List进行排序。流API提供了sorted()方法,该方法接受一个Comparator对象作为参数,用于定义排序规则。例如,下面的代码将按照降序对一个字符串类型的List进行排序:
    1. List<String> list = new ArrayList<>();
    2. list.add("apple");
    3. list.add("banana");
    4. list.add("cherry");
    5. list.stream().sorted(Comparator.reverseOrder()).forEach(System.out::println);
    6. // cherry
    7. // banana
    8. // apple
  4. 使用Java 9的排序方法
    从Java 9开始,可以使用List接口的sort()方法进行排序,该方法接受一个Comparator对象作为参数,用于定义排序规则。例如,下面的代码将按照降序对一个字符串类型的List进行排序:
    1. List<String> list = new ArrayList<>();
    2. list.add("apple");
    3. list.add("banana");
    4. list.add("cherry");
    5. list.sort(Comparator.reverseOrder());
    6. System.out.println(list); // [cherry, banana, apple]