🍅 Java学习路线:搬砖工逆袭Java架构师
🍅 简介:Java领域优质创作者🏆、优快云哪吒公众号作者✌ 、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 static void test01() {
List<User> list = new ArrayList<User>();
list.add(new User("zs", 18));
本文深入探讨了Java8中的Predicate接口,从一段代码引发的思考开始,详细分析了Predicate的源码,并通过实例展示了如何利用函数式接口进行比较、组合条件(And、Or)以及取反操作。同时,还简要提及了消费型接口Consumer的相关内容。
订阅专栏 解锁全文
8308

被折叠的 条评论
为什么被折叠?



