[Java]リスト(List)の合計値を取得するには?

Java

どうも、ちょげ(@chogetarou)です。

リスト(List)の合計値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リスト(List)の合計値を取得する方法は、3つあります。

sum()

1つ目は、sum()を使う方法です。

まず、リストからstream()、stream()からmapToInt()を呼び出します。

mapToInt()の引数に、Integer::intValueを指定します。

そして、mapToInt()からsum()を呼び出します。

int sum = list.stream().mapToInt(Integer::intValue).sum();

上記のsum()は、stream()を呼び出したリスト(List)の合計値を取得します。

使用例

import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<Integer>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        
        int sum = numbers.stream().mapToInt(Integer::intValue).sum();
        
        System.out.println(sum);
    }
}
出力:
15

reduce()

2つ目は、reduce()を使う方法です。

まず、リストからstream()、stream()からreduce()を呼び出します。

reduce()の引数に、Integer::sumを指定します。

そして、reduce()からget()を呼び出します。

int sum = list.stream().reduce(Integer::sum).get();

上記のget()は、stream()を呼び出したリスト(list)の合計値を取得します。

使用例

import java.util.ArrayList;
import java.util.List;
public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<Integer>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        
        int sum = numbers.stream().reduce(Integer::sum).get();
        
        System.out.println(sum);
    }
}
出力:
15

forループ

3つ目は、forループを使う方法です。

まず、合計値を格納するための変数を用意します。

次に、リストをforループします。

そして、forループの処理で、リストの要素を用意した変数に足します。

まず、合計値を格納するための変数を用意します。

次に、リストをforループします。

そして、forループの処理で、リストの要素を用意した変数に足します。

int sum = 0;
for (int i: list) {
sum += i;
}

上記のforループ終了後、用意した変数にリスト(List)の合計値が格納されます。

使用例

import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<Integer>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
int sum = 0;
for (int i: list) {
    sum += i;
}

まとめ

リスト(List)の合計値を取得する方法は、次の3つです。

  • sum()を使う方法
    int sum = list.stream().mapToInt(Integer::intValue).sum();
  • reduce()を使う方法
    int sum = list.stream().reduce(Integer::sum).get();
  • forループを使う方法

コメント

タイトルとURLをコピーしました