どうも、ちょげ(@chogetarou)です。
リスト(List)の合計値を取得する方法を紹介します。
方法
リスト(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ループを使う方法
コメント