(Java)関数型インターフェース

Javadocを読む時に関数型インターフェースが出てくるといっつもなんだっけこれ?
という場面に遭遇する。物覚えが悪いのです。
関数型インターフェースが出て何年経つのねん。

JavaにStreamが実装された時に追加されたインターフェース。
とはいえ、いろいろなところで使われるようになっている。
Javaに関数型がどんどん導入されるのは喜ばしいことだと思っています。(詳しくはまた書ければいいな)

Function

引数をひとつとり何らかの値を返す。
もっとも使われるか。

Predicate

引数をひとつとりbooleanを返す。
Streamでfilterで使われることが多いのでは?

Consumer

Consumerは何も返さない。
個人的にはStreamでListに追加していくことが多いかな。

Supplier

引数を受け取らず、何らかの値を返す。


後々このエントリーをアップデートしてサンプルコードを書こう!