関数型インタフェース ラムダ式はどのような場面で使用できるのだろうか? Java 8では実装するべきメソッドが1つしかないインタフェースを「関数型インタフェース」として扱うことができ、ラムダ式はこの関数型インタフェースの代わりに使用することができる。前述のサンプルで例として挙げたjava.util.Comparatorも関数型インタフェースとして扱うことができるインタフェースの1つというわけだ。 なお、Java 8ではjava.util.functionパッケージで以下のような汎用的な関数型インタフェースがいくつか用意されており、後述するコレクションAPIなどではこれらのインタフェースが使用されている。ラムダ式を使用可能なメソッドを自作する場合は基本的にこれらの汎用的な関数型インタフェースを使用するといいだろう。 Function<T, R> … 1つの引数を受け取って結果を返す関数 Bi