在 Java 中获取数组的总和

Mohammad Irfan 2023年1月30日 2021年6月29日
  1. 在 Java 中使用 for 循环求数组的总和
  2. 使用 Java 中的 Stream 方法求数组的总和
  3. 使用 Java 中的 reduce 方法求数组的总和
  4. 使用 Java 中的 sum 方法求数组的总和
  5. 使用 Java 中的 IntStream 接口求数组的总和
  6. 在 Java 中使用紧凑的 for 循环求数组的总和
在 Java 中获取数组的总和

本教程介绍了如何在 Java 中查找数组的总和,还列出了一些示例代码来理解该主题。

数组被定义为 Java 中相似类型元素的集合。在本文中,我们将通过使用一些内置方法和自定义代码来查找数组元素的总和。

在编程过程中执行此操作是很常见的。不幸的是,Java 没有提供任何特定的方法来获取数组的总和。所以,我们将使用一些技巧来解决这个问题!

在 Java 中使用 for 循环求数组的总和

在这个例子中,我们使用了一个循环来遍历每个数组元素并并行得到它们的和。这个方法有一个简单的代码,需要一个循环来获得总和。这是示例程序:

public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        System.out.println("Array Sum = "+sum);
        
    }
}

输出:

Array Sum = 149

使用 Java 中的 Stream 方法求数组的总和

在这个例子中,我们使用了 Arrays 类的 stream() 方法和 parallel() 方法来获取数组元素的总和。我们将 lambda 表达式传递给实际执行求和运算的 reduce() 方法。请参考下面的示例:

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = Arrays.stream(arr).parallel().reduce(0,(a,b)->  a + b);
        System.out.println("Array Sum = "+sum);
        
    }
}

输出:

Array Sum = 149

使用 Java 中的 reduce 方法求数组的总和

在这个例子中,我们直接使用 reduced() 方法处理数组流并获得元素的总和。这是如何做到的:

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = Arrays.stream(arr).reduce(0,(a,b)->  a + b);
        System.out.println("Array Sum = "+sum);

    }
}

输出:

Array Sum = 149

使用 Java 中的 sum 方法求数组的总和

Java 在 Stream API 中提供了 sum() 方法来获取流序列的总和。在这里,我们将一个数组传递给流并通过使用 sum() 方法得到它的总和。请参考下面的示例:

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = Arrays.stream(arr).sum();
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

使用 Java 中的 IntStream 接口求数组的总和

此方法是另一种解决方案,你可以在其中使用 Intsream 接口创建数组元素流,并利用 sum() 方法在简单的单行解决方案中获取总和。按照此处的示例代码进行操作:

import java.util.stream.IntStream;
public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum = IntStream.of(arr).sum();
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

在 Java 中使用紧凑的 for 循环求数组的总和

在这个例子中,我们使用了一个 for 循环来通过一个额外的唯一过程来获取数组元素的总和。在这里,我们没有创建循环体,而是绑定到循环签名部分。我们可以称之为紧凑循环解决方案。如果你不怕凌乱的代码块,你可以尝试一下。

public class SimpleTesting{
    public static void main(String[] args) {
        int arr[] = new int[] {12,34,45,21,33,4};
        int sum,i;
        for(sum= 0, i= arr.length - 1; 0 <= i; sum+= arr[i--]);
        System.out.println("Array Sum = "+sum);
    }
}

输出:

Array Sum = 149

相关文章 - Java Array