Java 按升序对数组进行排序
Java 程序使用 Arrays.sort() 方法按升序对整数数组进行排序。
//要排序的数组 Integer[] numbers = new Integer[] { 15, 11, 9, 55, 47, 18, 520, 1123, 366, 420 }; //对数组进行排序 Arrays.sort(numbers); //查看排序后的数组 System.out.println(Arrays.toString(numbers));
程序输出。
[9, 11, 15, 18, 47, 55, 366, 420, 520, 1123]
Java 按降序对数组进行排序
Java 提供了 Collections.reverseOrder() 比较器来反转一行中的默认排序行为。
使用它按降序对数组进行排序。
//要排序的数组 Integer[] numbers = new Integer[] { 15, 11, 9, 55, 47, 18, 520, 1123, 366, 420 }; //对数组进行排序 in reverse order Arrays.sort(numbers, Collections.reverseOrder()); //查看排序后的数组 System.out.println(Arrays.toString(numbers));
程序输出。
[1123, 520, 420, 366, 55, 47, 18, 15, 11, 9]
Java 8 并行排序数组
Java 8 引入了许多用于并行处理数据集和流的新 API。
一个这样的 API 是 Arrays.parallelSort() 。
parallelSort()
方法将数组分解为多个子数组,每个子数组在不同线程中使用 Arrays.sort()
进行排序。
最后,所有已排序的子数组合并为一个已排序数组。
parallelSort()
和 sort()
这两个 API 的输出是相同的。
这只是利用 Java 并发性。
//并行排序整个数组 Arrays.parallelSort(numbers); //并行排序数组某个范围 Arrays.parallelSort(numbers, 2, 6); //反向并行排序数组 Arrays.parallelSort(numbers, Collections.reverseOrder());
使用 java.util.Arrays.sort() 方法以多种方式对给定数组进行排序。
https://onitroad.com 更多教程
Java 对给定的数组范围进行排序
Arrays.sort()
方法是重载方法,并带有两个另外的参数,例如:fromIndex
(包含)和 toIndex
(不包含)。
提供时,数组将在从位置 fromIndex
到位置 toIndex
提供的范围内排序。
给定示例将数组从元素 9 排序到 18.
例如:{9, 55, 47, 18} 将被排序,其余元素不会被触及。
//要排序的数组 Integer[] numbers = new Integer[] { 15, 11, 9, 55, 47, 18, 1123, 520, 366, 420 }; //对数组进行排序 Arrays.sort(numbers, 2, 6); //查看排序后的数组 System.out.println(Arrays.toString(numbers));
程序输出。
[15, 11, 9, 18, 47, 55, 1123, 520, 366, 420]
日期:2020-09-17 00:09:36 来源:oir作者:oir