java 提供多种排序算法,包括:数组排序:使用 arrays.sort() 方法原地排序数组。list 排序:使用 collections.sort() 方法原地排序 list。使用比较器:使用 comparator 接口自定义排序逻辑。其他算法:mergesort、quicksort 和 heapsort 可用于不同场景。

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











