Java 中提供两种主要数组元素排序方法:Arrays.sort():用于对基本类型数组和对象数组(须实现 Comparable 接口)进行升序排序。Comparator.comparing():基于 Lambda 表达式,允许根据自定义比较器对数组进行排序。

Java 中数组元素排序
排序方法
Java 中提供了多种对数组元素进行排序的方法,最常用的有两种:
1. Arrays.sort() 方法
立即学习“Java免费学习笔记(深入)”;
- 内置方法,用于对基本类型数组(int[]、float[] 等)和对象数组(Object[])进行排序。
- 根据元素的自然顺序进行升序排序。
- 对象数组必须实现 Comparable 接口才能使用
Arrays.sort()方法。 - 语法:
Arrays.sort(arrayName)
2. Comparator.comparing() 方法
- 基于 Lambda 表达式的函数式编程方式,适用于对自定义类或对象的数组进行排序。
- 允许根据任意比较器对元素进行排序。
- 语法:
Arrays.sort(arrayName, Comparator.comparing(FunctionkeyExtractor))
示例
所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。 数组应用&二维数组目录 1. 数组的简单应用2. 数组排序3. 数组查找4. 数组的使用思想5. 查表法6. 二维数组7. 数组综合
基本类型数组排序
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()方法提供了一种灵活的方式来指定排序规则。 - 根据具体需求选择合适的排序方法,以提高效率和代码可读性。










