Collectorsについて
下記APIリファレンスより
要素をコレクションに蓄積したり、さまざまな条件に従って要素を要約するなど、有用な各種リダクション操作を実装したCollector実装。
主なメソッド
| メソッド名 |
概要 |
| toList() |
要素をリストに集約する |
| toSet() |
要素をセットに集約する |
| toMap() |
キーと値のペアに要素を集約する |
| メソッド名 |
概要 |
| groupingBy() |
指定したキーで要素をグループ化する |
| partitioningBy() |
指定した条件に基づいて要素をパーティション分割する |
| メソッド名 |
概要 |
| mapping() |
要素を指定した関数によって変換する |
| reducing() |
要素をリダクション(まとめる)操作によって変換する |
| メソッド名 |
概要 |
| summarizingXxx() |
指定した数値型の統計情報を収集 |
| averagingXxx() |
指定した数値型の平均値を計算 |
| メソッド名 |
概要 |
| summingXxx() |
指定した数値型の要素を合計する |
例
public class Sample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// リストの要素を合計する
int sum = numbers.stream()
.collect(Collectors.summingInt(Integer::intValue));
System.out.println("Sum: " + sum);
// リストの要素を文字列に連結する
String concatenated = numbers.stream()
.map(Object::toString)
.collect(Collectors.joining(", "));
System.out.println("Concatenated: " + concatenated);
}
}