parallelSort()、parallelPrefix()、parallelSetAll()

import java.util.Arrays;
import java.util.function.IntBinaryOperator;
import java.util.function.IntUnaryOperator;

public class MyDemo1 {
    public static void main(String[] args) {
        
        //parallelSort方法对数组进行排序,这方法与传统的sort()方法大致相似,该方法的功能与传统的sort()方法大致相似
        //只是在多cpu上有更好的性能
        int[] arr1=new int[]{3,-4,25,16,30,18};
        //对数组进行并发排序
        Arrays.parallelSort(arr1);
        System.out.println(Arrays.toString(arr1));
        
        

        int[] arr2=new int[]{3,-4,25,16,30,18};
        Arrays.parallelPrefix(arr2, new IntBinaryOperator() {
           
            public int applyAsInt(int left, int right) {
                //left代表数组中前一个索引处的元素,计算第一个元素时,left为1
                //right代表数组中当前索引处的元素
                return left*right;
            }
        });
        System.out.println(Arrays.toString(arr2));

        int[] arr3=new int[5];
        Arrays.parallelSetAll(arr3, new IntUnaryOperator() {
          
            public int applyAsInt(int operand) {
                //operand代表正在计算的元素的索引
                return operand*5;
            }
        });
        System.out.println(Arrays.toString(arr3));
        
        
        /**输出结果:[-4, 3, 16, 18, 25, 30]
                [3, -12, -300, -4800, -144000, -2592000]
                        [0, 5, 10, 15, 20]
                        
                        */

    }
}

 

posted @ 2019-06-05 20:15  chy8  阅读(1340)  评论(0)    收藏  举报