Java 中提供两种主要数组元素排序方法:Arrays.sort():用于对基本类型数组和对象数组(须实现 Comparable 接口)进行升序排序。Comparator.comparing():基于 Lambda 表达式,允许根据自定义比较器对数组进行排序。
Java 中数组元素排序
排序方法
Java 中提供了多种对数组元素进行排序的方法,最常用的有两种:
1. Arrays.sort() 方法
Arrays.sort() 方法。Arrays.sort(arrayName)
2. Comparator.comparing() 方法
Arrays.sort(arrayName, Comparator.comparing(Function keyExtractor))
示例
基本类型数组排序
int[] intArray = {3, 1, 5, 2, 4};
Arrays.sort(intArray); // 使用 Arrays.sort() 方法进行升序排序对象数组排序
假设有一个 Student 类,其中包含 name 和 age 两个属性:
class Student implements Comparable{ private String name; private int age; @Override public int compareTo(Student other) { return this.name.compareTo(other.name); // 根据姓名升序排序 } } Student[] students = new Student[3]; students[0] = new Student("Tom", 20); students[1] = new Student("Alice", 21); students[2] = new Student("Bob", 19); Arrays.sort(students); // 使用 Comparable 接口实现的 compareTo() 方法进行排序
基于 Comparator 的排序
假设要根据学生的年龄降序排序:
Arrays.sort(students, Comparator.comparing(Student::getAge).reversed());
提示
Arrays.sort() 方法时,需要注意数组元素的数据类型。Comparator.comparing() 方法提供了一种灵活的方式来指定排序规则。