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);
}
}