Java Arrays.sort()用法详解



Arrays.sort() 是 Java 中的一个非常有用的方法,用于对数组进行排序。这个方法属于 java.util.Arrays 类,它提供了多种重载版本,可以用于不同类型的数组。

以下是 Arrays.sort() 的基本用法和一些示例:

  1. 对整数数组进行排序

import java.util.Arrays;  
  
public class SortExample {  
    public static void main(String[] args) {  
        int[] arr = {5, 2, 9, 1, 5, 6};  
        Arrays.sort(arr);  
        System.out.println(Arrays.toString(arr));  // 输出:[1, 2, 5, 5, 6, 9]  
    }  
}
  1. 对字符串数组进行排序

import java.util.Arrays;  
  
public class SortExample {  
    public static void main(String[] args) {  
        String[] arr = {"Apple", "Banana", "Cherry", "Date"};  
        Arrays.sort(arr);  
        System.out.println(Arrays.toString(arr));  // 输出:[Apple, Banana, Cherry, Date]  
    }  
}
  1. 对自定义对象数组进行排序
    如果你有一个自定义对象数组,并希望根据对象的某个属性进行排序,你可以创建一个实现 Comparable 接口的类,或者提供一个 Comparator

例如,假设你有一个 Person 类,你想根据人的年龄对其进行排序:

import java.util.Arrays;  
import java.util.Comparator;  
  
class Person {  
    String name;  
    int age;  
    // ... 构造函数、getter、setter ...  
}  
  
public class SortExample {  
    public static void main(String[] args) {  
        Person[] persons = {/* ... 初始化 persons ... */};  
        Arrays.sort(persons, new Comparator<Person>() {  
            @Override  
            public int compare(Person p1, Person p2) {  
                return Integer.compare(p1.getAge(), p2.getAge());  
            }  
        });  
        // ... 现在 persons 数组已按年龄排序 ...  
    }  
}

注意:当使用 Arrays.sort() 对自定义对象数组进行排序时,你需要提供一个 Comparator 或让你的类实现 Comparable 接口。否则,默认的字典序排序可能不是你想要的。