Java8のStream API filterメソッドを理解するにはPredicateインタフェースを理解する

Java8のStream API filterメソッドを理解するにはPredicateインタフェースを理解する

filterメソッドはマッチする要素のみを抽出するメソッドです。

filterメソッドはPredicateを引数に持ちます。

java.util.function.Predicateインタフェースを見るとtestメソッドが一つだけある関数型インタフェースというやつになります。(@FunctionalInterfaceアノテーションが付与されていること、抽象メソッドが一つのみであること)

Employeeクラスがあるとします。

Predicateクラスを実装します。

testメソッドは仮引数にEmployeeを持ち、tで始まるnameの場合、trueを返し、それ以外はfalseを返します。

filterの引数にPredicateを渡します。

ラムダ式で書く

ラムダ式で書くと以下のように記述できます。

testメソッド一つのみなので、testを省略でき、仮引数はEmployeeなのでeはEmployeeを表します。

Objects.nonNullメソッドを使用する

filterメソッドでnull以外を対象としたい場合にObjects.nonNullメソッドを使用してNullを排除します。

Java8のStream API mapメソッドを理解するにはFunctionインタフェースを理解する

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA