java 中如何排序
排序数组
使用 Arrays.sort() 方法对基本类型数组或对象数组进行排序。

- 基本类型数组(如
int[]):默认按升序排序。int[] arr = {5, 2, 9, 1}; Arrays.sort(arr); // 结果为 [1, 2, 5, 9] - 对象数组(如
String[]):按对象的自然顺序(如字典序)排序。String[] names = {"Alice", "Bob", "Charlie"}; Arrays.sort(names); // 结果为 ["Alice", "Bob", "Charlie"]
自定义排序规则
通过 Comparator 接口实现自定义排序逻辑。

- 降序排序:
Integer[] numbers = {5, 2, 9, 1}; Arrays.sort(numbers, (a, b) -> b - a); // 结果为 [9, 5, 2, 1] - 按对象属性排序(如按字符串长度):
String[] words = {"apple", "banana", "pear"}; Arrays.sort(words, (s1, s2) -> s1.length() - s2.length()); // 结果为 ["pear", "apple", "banana"]
集合排序
使用 Collections.sort() 对 List 集合排序。
- 自然顺序排序:
List<Integer> list = Arrays.asList(3, 1, 4); Collections.sort(list); // 结果为 [1, 3, 4] - 自定义排序:
List<String> fruits = Arrays.asList("banana", "apple", "cherry"); Collections.sort(fruits, (a, b) -> a.compareTo(b)); // 按字典序
并行排序
对大型数组使用 Arrays.parallelSort() 提高性能(多线程)。
int[] largeArray = new int[1000000];
Arrays.parallelSort(largeArray);
注意事项
- 对象类需实现
Comparable接口以支持自然排序。 - 自定义
Comparator时注意处理null值或边界条件。 - 并行排序适用于多核环境,小数组可能性能反而不如串行排序。






