java中如何排序
排序方法概述
Java中排序主要通过Arrays.sort()和Collections.sort()实现,支持自然排序(Comparable接口)和自定义排序(Comparator接口)。
数组排序
使用Arrays.sort()对基本类型数组和对象数组排序:
int[] intArray = {5, 2, 9, 1};
Arrays.sort(intArray); // 升序排序
String[] strArray = {"Banana", "Apple", "Orange"};
Arrays.sort(strArray); // 按字典序排序
集合排序
使用Collections.sort()对List集合排序:

List<Integer> list = Arrays.asList(3, 1, 4);
Collections.sort(list); // 自然排序
List<String> names = Arrays.asList("John", "Alice");
Collections.sort(names); // 字典序排序
自定义排序规则
通过Comparator接口实现自定义排序逻辑:
List<String> words = Arrays.asList("cat", "elephant", "dog");
Collections.sort(words, (s1, s2) -> s1.length() - s2.length()); // 按字符串长度排序
List<Person> people = Arrays.asList(new Person("Alice", 25), new Person("Bob", 20));
Collections.sort(people, Comparator.comparing(Person::getAge)); // 按年龄排序
降序排序
使用Comparator.reverseOrder()或自定义比较器:

Arrays.sort(intArray, Collections.reverseOrder()); // 对象数组降序
Collections.sort(list, Comparator.reverseOrder()); // 集合降序
对象排序
对象类需实现Comparable接口并重写compareTo方法:
class Person implements Comparable<Person> {
String name;
int age;
@Override
public int compareTo(Person other) {
return this.age - other.age; // 按年龄升序
}
}
并行排序
Java 8+支持并行排序(大数据量时性能更优):
Arrays.parallelSort(intArray); // 并行排序数组
以上方法覆盖了Java中常见的排序需求,根据数据类型和场景选择合适的方式即可。






