JavaでストリームAPIを使用して要素の合計値を取得する方法について記載します。
目次
要素の合計値を取得する方法
sum メソッドを使用します。
構文
sum()
戻り値
int、float、double
1. 全ての要素値を合計する
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// int型の集計 List<Integer> intList1 = Arrays.asList(10,20,30); int iNum1 = intList1.stream().mapToInt( i -> i ).sum(); System.out.println( iNum1 ); // 60 // long型の集計 List<Long> longList = Arrays.asList(10L,20L,30L); long lNum = longList.stream().mapToLong( l -> l ).sum(); System.out.println( lNum ); // 60 // double型の集計 List<Double> doubleList = Arrays.asList(10.5,20.5,30.5); double dNum = doubleList.stream().mapToDouble( d -> d ).sum(); System.out.println( dNum ); // 61.5 |
2. 条件に一致する要素値を合計する
filter メソッドを使用すると条件を指定することができます。
実行例
1 2 3 4 5 |
// int型の集計( 20以上の値のみ集計 ) List<Integer> intList2 = Arrays.asList(10,20,30); int iNum2 = intList2.stream().filter( i -> i >= 20 ).mapToInt( i -> i ).sum(); System.out.println( iNum2 ); // 50 |