在 Java 中獲取陣列的總和

Mohammad Irfan 2023年10月12日
  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