在 Java 中获取数组的总和
Mohammad Irfan
2023年10月12日
-
在 Java 中使用
for
循环求数组的总和 -
使用 Java 中的
Stream
方法求数组的总和 -
使用 Java 中的
reduce
方法求数组的总和 -
使用 Java 中的
sum
方法求数组的总和 -
使用 Java 中的
IntStream
接口求数组的总和 -
在 Java 中使用紧凑的
for
循环求数组的总和
![在 Java 中获取数组的总和](/img/Java/feature-image---find-sum-of-array-in-java.webp)
本教程介绍了如何在 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