Java 提供多种排序算法,包括:数组排序:使用 Arrays.sort() 方法原地排序数组。List 排序:使用 Collections.sort() 方法原地排序 List。使用比较器:使用 Comparator 接口自定义排序逻辑。其他算法:MergeSort、QuickSort 和 HeapSort 可用于不同场景。

Java 排序
Java提供了多种排序算法,可以根据数组或集合 中的元素来对它们进行排序。
1. 数组排序
要对数组进行排序,可以使用 Arrays.sort() 方法。此方法将对数组中的元素进行原地排序,根据其自然顺序或使用指定的比较器。
立即学习“Java免费学习笔记(深入)”;
int[] numbers = {5, 2, 8, 3, 1};
Arrays.sort(numbers); // 根据自然顺序排序2. List 排序
要对 List 进行排序,可以使用 Collections.sort() 方法。此方法将对 List 中的元素进行原地排序,根据其自然顺序或使用指定的比较器。
Listnames = List.of("John", "Alice", "Bob", "Eve"); Collections.sort(names); // 根据自然顺序排序
3. 使用比较器
对于需要自定义排序逻辑的情况,可以使用 Comparator 接口。Comparator 定义了如何对两个对象进行比较。
// 自定义比较器,按字符串长度排序 Comparatorcomparator = Comparator.comparing(String::length); // 对List按字符串长度排序 Collections.sort(names, comparator);
4. 其他排序算法
除了 Arrays.sort() 和 Collections.sort() 方法,Java 还提供了一些其他排序算法,例如:
MergeSortQuickSortHeapSort
这些算法可以在 java.util 和 java.util.Arrays 包中找到。
使用注意事项:
- 原地排序算法会修改原始数组或集合。
- 确保为
Comparator正确实现compareTo()或compare()方法。 - 选择合适的排序算法以获得最佳性能。











