今月から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文で記述していた内容を記述します。もちろん、通常はラムダ式を使用して記述します。