常用的函式接口_or&engate、集合信息拆选
常用的函式接口_or&engate
案例:
public class Han8 {
/**
* 定义一个方法String类型的字符串
* 传递一个Predicate接口,泛型使用String
* 使用Predicate中test对字符串进行判断,并把判断结果返回
*/
public static boolean chenkString(String s, Predicate<String> predicate,Predicate<String> predicate1){
return predicate.and(predicate1).test(s);
}
public static void main(String[] args) {
String a ="aaabbbccc";
boolean b = chenkString(a, (String s) -> {
return s.length() > 5;
}, (String s) -> {
return s.contains("f");
});
System.out.println(b);
}
}
集合信息拆选
题目:
数组当中多条姓名+性别的信息如下:请通过Predicate接口的瓶装符合要求字符串筛选集合中,需要同时满足两个条件
1必须为女生
2姓名为4个字
分析:
1.有两个判断条件,所以需要使用两个Predicate接口,对条件进行判断
2.必须同时满足两个条件,所以可以使用and方法连接两个判断条件
案例:
public static ArrayList<String> filter(String[] arr, Predicate<String> predicate1,Predicate<String> predicate2){
ArrayList<String> list = new ArrayList<>();
for (String s : arr) {
boolean b = predicate1.and(predicate2).test(s);
if (b){
list.add(s);
}
}
return list;
}
public static void main(String[] args) {
String[] arr ={"大傻,女","大傻,女","大傻,女","大傻,女","大傻,女"};
ArrayList<String> list = filter(arr, (String s) -> {
return s.split(",")[1].equals("女");
}, (String s) -> {
return s.split(",")[0].length() == 4;
});
for (String s : list) {
System.out.println(s);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY