いまさらですが、JavaのStreamについてざっくりまとめます。 基本的にはStreamのJavaDocを参考にしながらまとめてますが、メソッド内引数の型変数など細かいところは省略しているので、詳しくはJavaDocの方を参照。 StreamはJava8から登場した概念で、要素の集まりに対して様々な処理を行うことができるものです。 Streamの操作 Streamの操作は生成、中間操作、終端操作の3段階に分けられます。 生成と終端操作は1つのストリーム操作につき一度だけ実行しますが、中間操作は複数回行うことができます。 中間操作のメソッドはStreamインスタンスを返すメソッドとして設計さているため、メソッドチェーンによる記述が可能です。 生成 生成はその名の通り、Streamを最初に生成するための処理です。 しかし、Streamはインターフェースであり、実装クラスも普通にインスタンス化