在 Java 中獲取陣列的總和
Mohammad Irfan
2023年10月12日
-
在 Java 中使用
for
迴圈求陣列的總和 -
使用 Java 中的
Stream
方法求陣列的總和 -
使用 Java 中的
reduce
方法求陣列的總和 -
使用 Java 中的
sum
方法求陣列的總和 -
使用 Java 中的
IntStream
介面求陣列的總和 -
在 Java 中使用緊湊的
for
迴圈求陣列的總和
本教程介紹瞭如何在 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