并行排序
除了并行流外,对于普通数组,Java8提供了简单的并行功能。对于数组排序,一般使用Arrays.sort()方法串行排序,Java8新增方法Arrays.parallelSort()并行排序。
例子,使用串行&并行排序数组:
private void test() {
int[] arr = getNumbers();
long start = System.currentTimeMillis();
Arrays.sort(arr);
System.out.println("串行排序时间:"+(System.currentTimeMillis() - start) + " ms" );
arr = getNumbers();
start = System.currentTimeMillis();
Arrays.parallelSort(arr);
System.out.println("并行排序时间:"+(System.currentTimeMillis() - start) + " ms" );
}
private int[] getNumbers() {
int[] arr = new int[5000000];
Random r = new Random();
for (int i = 0; i < 5000000; ++i) {
arr[i] = r.nextInt(1000) + 1;
}
return arr;
}
输出结果:
随机生成一个字符串数组,使用串行&并行方式进行排序,并输出时间。