多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**1. 调用`Arrays.parallelSort`方法对数组进行升序排序** ```java @Test public void parallelSortTest() { long[] ls = new long[]{10L, 30L, 90L, 40L, 20L}; Arrays.parallelSort(ls); for (long l : ls) System.out.print(l + " "); //10 20 30 40 90 } ``` **2. 调用`Arrays.parallelSort`方法对数组进行排序,排序算法用自定义比较器** ```java @Test public void parallelSortTest2() { String[] arrs = new String[]{"from", "'m", "I", "China"}; //按字符串的长度进行升序排序 Arrays.parallelSort(arrs, Comparator.comparing(String::length)); for (String v : arrs) System.out.print(v + " "); //I 'm from China } ``` **3. 调用`Arrays.parallelAll`方法,使用一个函数计算得到的结果填充一个数组** ```java @Test public void parallelAllTest() { int[] ints = new int[10]; //将 i+2 的计算结果填充数组, i从0开始 Arrays.parallelSetAll(ints, i -> i + 2); for (int v : ints) System.out.print(v + " "); //2 3 4 5 6 7 8 9 10 11 } ``` **4. 调用`Arrays.parallelPrefix`方法,利用累乘来替换数组元素。该算法的时间复杂度为`log(n)`** ```java @Test public void parallelPrefixTest() { int[] ints = new int[]{10, 20, 30, 40, 50}; //更新数组为{10, 10 * 20, 10 * 20 * 30, 10 * 20 * 30 * 40, 10 * 20 * 30 * 40 * 50} Arrays.parallelPrefix(ints, (x, y) -> x * y); for (int v : ints) System.out.print(v + " "); //10 200 6000 240000 12000000 } ```