今月からProject Lambaで追加されたAPIについて解説していきます。

 Project Lambdaで追加されたAPIというと、Stream APIですが、その前に本連載でもすでに何度も使用しているIterableインタフェースの変更について、あらためて紹介します。

 その後、Stream APIについて紹介していきます。

Iterableインタフェースの変更

 Java SE 7まで、Iterableインタフェースにはiterateメソッドしか定義されていませんでしたが、デフォルトメソッドを使用して2つのメソッドが追加されました。

 1つはこれまでも何度も使用しているforEachメソッド、もう1つがspliteratorメソッドです。

 forEachメソッドは拡張for文の内部イテレータ版になります。forEachメソッドの引数の型はjava.util.function.Consumerインタフェースです。

 Consumerインタフェースのacceptメソッドに拡張for文で記述していた内容を記述します。もちろん、通常はラムダ式を使用して記述します。