Java ArrayList sort() 方法

定义和用法

sort() 方法用于对列表中的元素进行排序。可以使用 Comparator 来比较元素对。Comparator 可以通过与 Java 的 Comparator 接口的 compare() 方法兼容的 lambda 表达式来定义。

如果向该方法传递 null,则元素将根据其数据类型自然排序(例如,字符串按字母顺序,数字按数值顺序)。非原始类型必须实现 Java 的 Comparable 接口,才能在没有 Comparator 的情况下进行排序。

相关页面

教程:Java 数组

教程:Java ArrayList

实例

例子 1

按字母顺序对列表进行排序:

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    cars.sort(null); // 使用自然排序
    System.out.println(cars);
  }
}

亲自试一试

例子 2

使用 lambda 表达式按逆字母顺序对列表进行排序:

import java.util.ArrayList;

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    cars.sort((a, b) -> -1 * a.compareTo(b)); // 使用 lambda 表达式进行逆序排序
    System.out.println(cars); // 输出 [Volvo, Mazda, Ford, BMW]
  }
}

亲自试一试

语法

public void sort(Comparator compare)

参数

参数 描述
compare

必需。Comparator 或 lambda 表达式,用于比较列表中的元素对。

传递 null 以按元素的数据类型进行自然排序。

技术细节

Java 版本: 1.8+