Java8函数式编程入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

并行排序

除了并行流外,对于普通数组,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;
}

输出结果:

query

随机生成一个字符串数组,使用串行&并行方式进行排序,并输出时间。