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

出処：
http://www.ne.jp/asahi/hishidama/home/tech/java/functionalinterface.html


| 引数と戻り型     	|         	| 関数型インターフェース 	|                      	|                                                 	| 備考                                                                                                       	|
|------------------	|---------	|------------------------	|----------------------	|-------------------------------------------------	|------------------------------------------------------------------------------------------------------------	|
| ()               	| T       	| java.util.function     	| Supplier             	| T get()                                         	| Supplier（get）系。 （引数なしで）値を返す。 基本的には固定値を返すことに使う。 （いわゆる「遅延評価」用） 	|
| ()               	| boolean 	| java.util.function     	| BooleanSupplier      	| boolean getAsBoolean()                          	|                                                                                                            	|
| ()               	| int     	| java.util.function     	| IntSupplier          	| int getAsInt()                                  	|                                                                                                            	|
| ()               	| long    	| java.util.function     	| LongSupplier         	| long getAsLong()                                	|                                                                                                            	|
| ()               	| double  	| java.util.function     	| DoubleSupplier       	| double getAsDouble()                            	|                                                                                                            	|
| ()               	| void    	| java.lang              	| Runnable             	| void run()                                      	| 　                                                                                                         	|
| (T)              	| void    	| java.util.function     	| Consumer             	| void accept(T t)                                	| Consumer（accept）系。 処理を行う（値を返さない）。                                                        	|
| (int)            	| void    	| java.util.function     	| IntConsumer          	| void accept(int value)                          	|                                                                                                            	|
| (long)           	| void    	| java.util.function     	| LongConsumer         	| void accept(long value)                         	|                                                                                                            	|
| (double)         	| void    	| java.util.function     	| DoubleConsumer       	| void accept(double value)                       	|                                                                                                            	|
| (T, U)           	| void    	| java.util.function     	| BiConsumer           	| void accept(T t, U u)                           	|                                                                                                            	|
| (T, int)         	| void    	| java.util.function     	| ObjIntConsumer       	| void accept(T t, int value)                     	|                                                                                                            	|
| (T, long)        	| void    	| java.util.function     	| ObjLongConsumer      	| void accept(T t, long value)                    	|                                                                                                            	|
| (T, double)      	| void    	| java.util.function     	| ObjDoubleConsumer    	| void accept(T t, double value)                  	|                                                                                                            	|
| (T)              	| boolean 	| java.util.function     	| Predicate            	| boolean test(T t)                               	| Predicate（test）系。 条件判定する（booleanを返す）。                                                      	|
| (int)            	| boolean 	| java.util.function     	| IntPredicate         	| boolean test(int value)                         	|                                                                                                            	|
| (long)           	| boolean 	| java.util.function     	| LongPredicate        	| boolean test(long value)                        	|                                                                                                            	|
| (double)         	| boolean 	| java.util.function     	| DoublePredicate      	| boolean test(double value)                      	|                                                                                                            	|
| (T, U)           	| boolean 	| java.util.function     	| BiPredicate          	| boolean test(T t, U u)                          	|                                                                                                            	|
| (T)              	| R       	| java.util.function     	| Function             	| R apply(T t)                                    	| Function（apply）系。 引数を受け取り、任意のクラスを返す。                                                 	|
| (int)            	| R       	| java.util.function     	| IntFunction          	| R apply(int value)                              	|                                                                                                            	|
| (long)           	| R       	| java.util.function     	| LongFunction         	| R apply(long value)                             	|                                                                                                            	|
| (double)         	| R       	| java.util.function     	| DoubleFunction       	| R apply(double value)                           	|                                                                                                            	|
| (T, U)           	| R       	| java.util.function     	| BiFunction           	| R apply(T t, U u)                               	|                                                                                                            	|
| (T)              	| int     	| java.util.function     	| ToIntFunction        	| int applyAsInt(T value)                         	| ToIntFunction（apply）系。 引数を受け取り、intを返す。                                                     	|
| (long)           	| int     	| java.util.function     	| LongToIntFunction    	| int applyAsInt(long value)                      	|                                                                                                            	|
| (double)         	| int     	| java.util.function     	| DoubleToIntFunction  	| int applyAsInt(double value)                    	|                                                                                                            	|
| (T, U)           	| int     	| java.util.function     	| ToIntBiFunction      	| int applyAsInt(T t, U u)                        	|                                                                                                            	|
| (T)              	| long    	| java.util.function     	| ToLongFunction       	| long applyAsLong(T value)                       	| ToLongFunction（apply）系。 引数を受け取り、longを返す。                                                   	|
| (int)            	| long    	| java.util.function     	| IntToLongFunction    	| long applyAsLong(int value)                     	|                                                                                                            	|
| (double)         	| long    	| java.util.function     	| DoubleToLongFunction 	| long applyAsLong(double value)                  	|                                                                                                            	|
| (T, U)           	| long    	| java.util.function     	| ToLongBiFunction     	| long applyAsLong(T t, U u)                      	|                                                                                                            	|
| (T)              	| double  	| java.util.function     	| ToDoubleFunction     	| double applyAsDouble(T value)                   	| ToDoubleFunction（apply）系。 引数を受け取り、doubleを返す。                                               	|
| (int)            	| double  	| java.util.function     	| IntToDoubleFunction  	| double applyAsDouble(int value)                 	|                                                                                                            	|
| (long)           	| double  	| java.util.function     	| LongToDoubleFunction 	| double applyAsDouble(long value)                	|                                                                                                            	|
| (T, U)           	| double  	| java.util.function     	| ToDoubleBiFunction   	| double applyAsDouble(T t, U u)                  	|                                                                                                            	|
| (T)              	| T       	| java.util.function     	| UnaryOperator        	| T apply(T t)                                    	| UnaryOperator（apply）系。 引数と同一の型を返す。                                                          	|
| (int)            	| int     	| java.util.function     	| IntUnaryOperator     	| int applyAsInt(int operand)                     	|                                                                                                            	|
| (long)           	| long    	| java.util.function     	| LongUnaryOperator    	| long applyAsLong(long operand)                  	|                                                                                                            	|
| (double)         	| double  	| java.util.function     	| DoubleUnaryOperator  	| double applyAsDouble(double operand)            	|                                                                                                            	|
| (T, T)           	| T       	| java.util.function     	| BinaryOperator       	| T apply(T t, T u)                               	| BinaryOperator（apply）系。 引数（2つ）と同一の型を返す。                                                  	|
| (int, int)       	| int     	| java.util.function     	| IntBinaryOperator    	| int applyAsInt(int left, int right)             	|                                                                                                            	|
| (long, long)     	| long    	| java.util.function     	| LongBinaryOperator   	| long applyAsLong(long left, long right)         	|                                                                                                            	|
| (double, double) 	| double  	| java.util.function     	| DoubleBinaryOperator 	| double applyAsDouble(double left, double right) 	|                                                                                                            	|