java.util.Arrays.parallelSort()方法用于将指定范围的数组按数字升序排序。要排序的范围从索引 fromIndex(包含)扩展到索引 toIndex(不包含)。如果 fromIndex == toIndex,则要排序的范围为空。
排序算法是并行排序合并,它将数组分解为子数组,子数组本身已排序,然后合并。当子数组长度达到最小粒度时,使用适当的 Arrays.sort 方法对子数组进行排序。如果指定数组的长度小于最小粒度,则使用适当的 Arrays.sort 方法对其进行排序。
语法
public static void parallelSort(byte[] a, int fromIndex, int toIndex)
参数
a | 指定要排序的数组。 |
fromIndex | 指定要排序的第一个元素的索引(含)。 |
toIndex | 指定要排序的最后一个元素的索引(不包括)。 |
返回值
void类型。
Exception
- 如果 fromIndex > toIndex,则抛出 IllegalArgumentException。
- 如果 fromIndex < 0,则抛出 ArrayIndexOutOfBoundsException 或toIndex > a.length
示例:
在下面的示例中,java.util.Arrays.parallelSort() 方法用于对给定字节数组的指定范围进行排序。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
//创建未排序的字节数组
byte Arr[] = {10, 2, -3, 35, 56, 100};
//打印未排序的数组
System.out.print("Before sorting\nArr contains:");
for(byte i: Arr)
System.out.print(" " + i);
//对数组的指定范围进行排序
Arrays.parallelSort(Arr, 2, 6);
//打印排序后的数组
System.out.print("\n\nAfter sorting (specified range)\nArr contains:");
for(byte i: Arr)
System.out.print(" " + i);
}
}
上述代码的输出将是:
Before sorting
Arr contains: 10 2 -3 35 56 100
After sorting (specified range)
Arr contains: 10 2 -3 35 56 100