Java.util.Arrays 类

java.util.Arrays.parallelSort()方法用于将指定范围的数组按数字升序排序。要排序的范围从索引 fromIndex(包含)扩展到索引 toIndex(不包含)。如果 fromIndex == toIndex,则要排序的范围为空。

排序算法是并行排序合并,它将数组分解为子数组,子数组本身已排序,然后合并。当子数组长度达到最小粒度时,使用适当的 Arrays.sort 方法对子数组进行排序。如果指定数组的长度小于最小粒度,则使用适当的 Arrays.sort 方法对其进行排序。

语法

public static void parallelSort(long[] a, int fromIndex, int toIndex)

参数

a 指定要排序的数组。
fromIndex 指定要排序的第一个元素的索引(含)。
toIndex 指定要排序的最后一个元素的索引(不包括)。

返回值

void类型。

Exception

  • 如果 fromIndex > toIndex,则抛出 IllegalArgumentException
  • 如果 fromIndex < 0,则抛出 ArrayIndexOutOfBoundsException 或toIndex > a.length

示例:

在下面的示例中,java.util.Arrays.parallelSort() 方法用于对给定的 long 数组的指定范围进行排序。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建一个未排序的长数组
    long Arr[] = {10, 2, -3, 35, 56, 100};

    //打印未排序的数组
    System.out.print("Before sorting\nArr contains:"); 
    for(long i: Arr)
      System.out.print(" " + i);

    //对数组的指定范围进行排序
    Arrays.parallelSort(Arr, 2, 6);

    //打印排序后的数组
    System.out.print("\n\nAfter sorting (specified range)\nArr contains:"); 
    for(long 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