【Java8 新特性 6】java8 predicate

本文深入探讨了Java8中的Predicate接口,从一段代码引发的思考开始,详细分析了Predicate的源码,并通过实例展示了如何利用函数式接口进行比较、组合条件(And、Or)以及取反操作。同时,还简要提及了消费型接口Consumer的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🍅 Java学习路线:搬砖工逆袭Java架构师

🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪

🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

🍅 欢迎点赞 👍 收藏 ⭐留言 📝  

一、一段代码引起的思考

// ?主要用于变量上,T主要用于类或方法上
private static <T> Predicate<T> getDistinct(Function<? super T, ?> param) {
    Map<Object, Boolean> map = new HashMap<>();
    //hash中不存在这个key,则返回null,如果存在返回true
    Predicate<T> ret = t -> map.putIfAbsent(param.apply(t), Boolean.TRUE) == null;
    return ret;
}
 
private stat
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值