Java 8中常用的函数式接口

函数式接口函数描述符原始类型特化
PredicateT->booleanIntPredicate,LongPredicate, DoublePredicate
ConsumerT->voidIntConsumer,LongConsumer, DoubleConsumer
Function<T,R>T->RIntFunction,IntToDoubleFunction,IntToLongFunction,LongFunction,LongToDoubleFunction, LongToIntFunction,DoubleFunction,ToIntFunction,ToDoubleFunction,ToLongFunction
Supplier()->TBooleanSupplier,IntSupplier, LongSupplier,DoubleSupplier
UnaryOperatorT->TIntUnaryOperator,LongUnaryOperator,DoubleUnaryOperator
BinaryOperator(T,T)->TIntBinaryOperator,LongBinaryOperator,DoubleBinaryOperator
BiPredicate<L,R>(L,R)->boolean
BiConsumer<T,U>(T,U)->voidObjIntConsumer,ObjLongConsumer,ObjDoubleConsumer
BiFunction<T,U,R>(T,U)->RToIntBiFunction<T,U>,ToLongBiFunction<T,U>,ToDoubleBiFunction<T,U>

reversed可以倒序
inventory.sort(comparing(Apple::getWeight).reversed())

谓词复合包括三个方法:negate、and、or(非、和、或)

函数复合有andThen、compose
Function<Integer, Integer> f = x -> x + 1;
Function<Integer, Integer> g = x -> x * 2;
Function<Integer, Integer> h = f.andThen(g);
int result = h.apply(1);
先执行f再执行g
result结果为4

Function<Integer, Integer> f = x -> x + 1;
Function<Integer, Integer> g = x -> x * 2;
Function<Integer, Integer> h = f.compose(g);
int result = h.apply(1);

先执行g再执行f
result结果为3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值