隐藏页面特效

Predicate

1|0Predicate


  1. boolean test(T t):用来指定数据类型进行判段的方法
import java.util.function.Predicate; /* * java.util.function.Predicate<T>接口 * 作用:对某种数据类型的数据进行判断,返回一个boolean值 * Predicate接口中包含一个抽象方法: * boolean test(T t):用来指定数据类型进行判段的方法 * * */ public class Demo1 { //判断字符串的长度 public static boolean method(String s, Predicate<String> pre){ return pre.test(s); } public static void main(String[] args) { boolean result = method("abcdasdsad",(s)->s.length()>5); System.out.println(result); } }
  1. Predicate的逻辑与的使用,或运算和取反和与一样
/* * 逻辑表达式:可以连接多个判断的条件 * &&:与运算,有false则false * ||:或运算,有true则true * !: 取反 * 需求: * 1.判断字符串的长度是否大于5 * 2.字符串是否包含a * */ import java.util.function.Predicate; public class Demo2 { public static boolean method(String s, Predicate<String> pre1, Predicate<String> pre2) { return pre1.test(s) && pre2.test(s); } public static void main(String[] args) { boolean result = method("abceff",(s) -> { return s.length()>5; },(s)->{ return s.contains("a"); }); System.out.println(result); } }
  1. 练习
import java.util.ArrayList; import java.util.function.Predicate; /* * 练习:集合信息的筛选 * 请通过Predicate接口实现 * 同时满足: * 1. 必须是女 * 2. 姓名为4个字 * * */ public class Demo3 { public static ArrayList<String> filter(String[] arr, Predicate<String> pre1, Predicate<String> pre2){ ArrayList<String> list = new ArrayList<>(); for (String item:arr) { boolean result = pre1.test(item) && pre2.test(item); if(result) list.add(item); } return list; } public static void main(String[] args) { String[] arr = {"迪丽热巴,女","古力娜扎,女","马儿扎哈,男","赵丽颖,女"}; ArrayList<String> list = filter(arr,(s)->{ return s.split(",")[0].length()==4; },(s)->{ return s.split(",")[1].equals("女"); }); System.out.println(list.toString()); } }

__EOF__

本文作者keep on going,never give up
本文链接https://www.cnblogs.com/-xyk/p/16786579.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   彼时听风  阅读(420)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示