当前位置:首页 > Java

java数组如何排序

2026-04-09 03:19:30Java

使用Arrays.sort()方法

Java中Arrays.sort()是最简单的数组排序方法,适用于基本类型和对象数组。

基本类型数组排序(升序)

int[] arr = {5, 2, 9, 1, 5};
Arrays.sort(arr); // 结果为 [1, 2, 5, 5, 9]

对象数组排序(需实现Comparable或自定义Comparator)

String[] strArr = {"banana", "apple", "pear"};
Arrays.sort(strArr); // 按字典序升序排列

自定义排序规则(Comparator)

通过Comparator接口实现自定义排序逻辑,例如降序或按特定字段排序。

降序排列

Integer[] arr = {5, 2, 9, 1, 5};
Arrays.sort(arr, (a, b) -> b - a); // 结果为 [9, 5, 5, 2, 1]

按对象属性排序

class Person {
    String name;
    int age;
    // 构造方法省略
}

Person[] people = {new Person("Alice", 30), new Person("Bob", 25)};
Arrays.sort(people, (p1, p2) -> p1.age - p2.age); // 按年龄升序

并行排序(Arrays.parallelSort())

对于大型数组,可以使用并行排序提高性能。

int[] largeArr = new int[1000000];
Arrays.parallelSort(largeArr); // 并行排序

手动实现排序算法

如需完全控制排序过程,可手动实现算法(如快速排序、冒泡排序)。

快速排序示例

java数组如何排序

public static void quickSort(int[] arr, int low, int high) {
    if (low < high) {
        int pivot = partition(arr, low, high);
        quickSort(arr, low, pivot - 1);
        quickSort(arr, pivot + 1, high);
    }
}

private static int partition(int[] arr, int low, int high) {
    int pivot = arr[high];
    int i = low - 1;
    for (int j = low; j < high; j++) {
        if (arr[j] < pivot) {
            i++;
            swap(arr, i, j);
        }
    }
    swap(arr, i + 1, high);
    return i + 1;
}

private static void swap(int[] arr, int i, int j) {
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
}

注意事项

  • 对象数组:必须实现Comparable接口或提供Comparator,否则会抛出ClassCastException
  • 稳定性Arrays.sort()对对象数组使用稳定排序(归并排序),基本类型数组使用快速排序。
  • 性能parallelSort()在多核环境下对大数组(>1万元素)更高效。

标签: 数组java
分享给朋友:

相关文章

如何查看java版本

如何查看java版本

查看 Java 版本的方法 通过命令行工具 打开终端(Windows 为命令提示符或 PowerShell,macOS/Linux 为 Terminal),输入以下命令并回车: java -ve…

如何用java

如何用java

用Java实现基础功能 Java是一种广泛使用的编程语言,适用于开发各种应用程序。以下是几个常见功能的实现方法。 打印"Hello, World!" public class HelloWorld…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io.Fil…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

如何编译java

如何编译java

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证是否安装成功。若未安装,需从Oracl…