java8 新特性总结3

4. functional interface

public class Java8FunctionalInterface {

    public static void main(String args[]) {

        List<Integer> list = Arrays.asList(0, 1, 2, 3, 4);

        System.out.println("all:");
		func(list, a -> true);

        System.out.println("偶数:");
		func(list, a -> {
            if (a % 2 == 0) {
                return true;
            }
            return false;
        });

        System.out.println("大于1");
		func(list, a -> a > 1);
    }

    public static void func(List<Integer> list, Predicate<Integer> predicate) {
        for (Integer a : list) {
            if (predicate.test(a)) {
                System.out.println(String.valueOf(a));
            }
        }
    }

}

java8 新加的函数接口
java.util.function 
BiConsumer<T,U> 	      代表了一个接受两个输入参数的操作,并且不返回任何结果
BiFunction<T,U,R>         代表了一个接受两个输入参数的方法,并且返回一个结果
BinaryOperator<T>         代表了一个作用于于两个同类型操作符的操作,并且返回了操作符同类型的结果
BiPredicate<T,U>          代表了一个两个参数的boolean值方法
BooleanSupplier 	      代表了boolean值结果的提供方
Consumer<T>               代表了接受一个输入参数并且无返回的操作
DoubleBinaryOperator      代表了作用于两个double值操作符的操作,并且返回了一个double值的结果。
DoubleConsumer 			  代表一个接受double值参数的操作,并且不返回结果。
DoubleFunction<R>         代表接受一个double值参数的方法,并且返回结果
DoublePredicate           代表一个拥有double值参数的boolean值方法
DoubleSupplier            代表一个double值结构的提供方
DoubleToIntFunction       接受一个double类型输入,返回一个int类型结果。
DoubleToLongFunction      接受一个double类型输入,返回一个long类型结果
DoubleUnaryOperator       接受一个参数同为类型double,返回值类型也为double 。
Function<T,R>             接受一个输入参数,返回一个结果。
IntBinaryOperator         接受两个参数同为类型int,返回值类型也为int 。
IntConsumer               接受一个int类型的输入参数,无返回值 。
IntFunction<R>            接受一个int类型输入参数,返回一个结果 。
IntPredicate              接受一个int输入参数,返回一个布尔值的结果。
IntSupplier               无参数,返回一个int类型结果。
IntToDoubleFunction       接受一个int类型输入,返回一个double类型结果 。
IntToLongFunction         接受一个int类型输入,返回一个long类型结果。
IntUnaryOperator          接受一个参数同为类型int,返回值类型也为int 。
LongBinaryOperator        接受两个参数同为类型long,返回值类型也为long。
LongConsumer              接受一个long类型的输入参数,无返回值。
LongFunction<R>           接受一个long类型输入参数,返回一个结果。
LongPredicate             接受一个long输入参数,返回一个布尔值类型结果。
LongSupplier              无参数,返回一个结果long类型的值。
LongToDoubleFunction      接受一个long类型输入,返回一个double类型结果。
LongToIntFunction         接受一个long类型输入,返回一个int类型结果。
LongUnaryOperator         接受一个参数同为类型long,返回值类型也为long。
ObjDoubleConsumer<T>      接受一个object类型和一个double类型的输入参数,无返回值。
ObjIntConsumer<T>         接受一个object类型和一个int类型的输入参数,无返回值。
ObjLongConsumer<T>        接受一个object类型和一个long类型的输入参数,无返回值。
Predicate<T>              接受一个输入参数,返回一个布尔值结果。            --示例用的就是这个
Supplier<T>               无参数,返回一个结果。
ToDoubleBiFunction<T,U>   接受两个输入参数,返回一个double类型结果
ToDoubleFunction<T>       接受一个输入参数,返回一个double类型结果
ToIntBiFunction<T,U>      接受两个输入参数,返回一个int类型结果。
ToIntFunction<T>          接受一个输入参数,返回一个int类型结果。
ToLongBiFunction<T,U>     接受两个输入参数,返回一个long类型结果。
ToLongFunction<T>         接受一个输入参数,返回一个long类型结果。
UnaryOperator<T>          接受一个参数为类型T,返回值类型也为T。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值