并行流实现两个double [][] 数组相加,加快速度

2024-05-25 12:13:57 浏览数 (2)

目录

  • 1 问题
  • 2 实现

1 问题

就是有两个double [][] 数组,里面的数据有很多,现在需要很快的方法实现相加。

2 实现

代码语言:javascript复制
    private static double[][] mergeTwo(double [][] array1, double [][] array2){
        int rows = array1.length;
        int columns = array1[0].length;
        // 创建一个与原数组大小相同的结果数组
        double[][] result = new double[rows][columns];
        // 使用并行流进行并行计算
        Arrays.parallelSetAll(result, i -> {
            double[] row1 = array1[i];
            double[] row2 = array2[i];
            double[] newRow = new double[columns];
            for (int j = 0; j < columns; j  ) {
                double a = row1[j];
                double b = row2[j];

                if (row1[j] > 1000 ) {
                    a = 0;
                }
                if(row2[j] > 1000){
                    b = 0;
                }
                double sum = a  b;
                newRow[j] = sum;
            }
            return newRow;
        });
        return result;
    }

0 人点赞