イントロダクション
Java 8から導入されたStream APIは、コレクションや配列などの要素を操作するための便利な手段を提供しています。Stream APIを使用すると、要素をフィルタリング、マッピング、ソートなどの処理を行うことができます。今回は、Stream APIの中でもcollectメソッドについて詳しく説明します。
collectメソッドとは?
collectメソッドは、ストリーム内の要素を集約して、新しいコレクションに格納するためのメソッドです。これにより、ストリーム内の要素を操作して、新しいコレクションを作成することができます。collectメソッドは、次のような構文を持っています。
<R, A> R collect(Collector<? super T, A, R> collector)
ここで、Tはストリーム内の要素の型、Aはcollect操作中に使用される一時的なオブジェクトの型、Rはcollect操作の結果として返されるオブジェクトの型です。
collectメソッドの例
collectメソッドを使用して、ストリーム内の要素をリストに格納する例を示します。
List<String> list = Stream.of("Java", "Python", "Ruby", "C++")
.collect(Collectors.toList());
この例では、Stream.ofメソッドでストリームを作成し、collectメソッドを使用してストリーム内の要素をListに格納しています。
collectメソッドの応用
collectメソッドは、ストリーム内の要素をグループ化することもできます。以下の例では、ストリーム内の要素を長さでグループ化し、Mapに格納しています。
Map<Integer, List<String>> map = Stream.of("Java", "Python", "Ruby", "C++")
.collect(Collectors.groupingBy(String::length));
この例では、groupingByメソッドを使用して、Stringの長さをキーとしてMapを作成しています。
結論
Javaのcollectメソッドは、ストリーム内の要素を集約して新しいコレクションに格納するための便利なメソッドです。これを使用することで、ストリーム内の要素を操作して、新しいコレクションを作成することができます。また、collectメソッドを使用して、ストリーム内の要素をグループ化することもできます。以上が、Javaのcollectメソッドについての説明です。
コメント