<span>通过Predicate接口将字符串数组中符合要求的字符串拼装筛到集合ArrayList中</span>

import java.util.ArrayList;
import java.util.function.Predicate;

/*
    - 通过Predicate接口将字符串数组中符合要求的字符串拼装筛到集合ArrayList中
      并遍历ArrayList集合
    - 同时满足如下要求:姓名长度大于2;年龄大于33
 */
public class PredicateTest {
    public static void main(String[] args) {
        // 创建集合数组对象,
        String[] strArray = {"小林子,30", "小岩,34", "小小玉,35", "貂蝉,31", "何俊贤,33"};
        // 定义一个集合存放结果
        // 调用chek方法,对集合对象数组进行操作,设置判断条件一,
        // 姓名长度大于2,使用,split方法获取字符串对象,用其长度判断是否大于二
        // 判断条件二
        // 获取到字符串对象,调用Integer.parseInt方法转化为int数据类型,再判断是否大于33
        ArrayList<String> arrayList = chek(strArray, s -> s.split(",")[0].length() > 2,
                s -> Integer.parseInt(s.split(",")[1]) > 33);
        // 增强for循环遍历,得到字符串对象,打印输出
        for (String string : arrayList) {
            System.out.println(string);
        }
    }

    // 对集合操作,使用Predicate函数接口,作为判断条件
    private static ArrayList<String> chek(String[] s, Predicate<String> pre1, Predicate<String> pre2) {
        // 创建集合对象
        ArrayList<String> array = new ArrayList<String>();
        // 对集合对象,遍历,得到字符串对象
        for (String str : s) {
            //对得到的字符串对象进行判断,将得到正确结果给到集合中
            if (pre1.and(pre2).test(str)) {
                array.add(str);
            }
        }
        // 返回集合
        return array;
    }


}

 

全部评论

相关推荐

哞客37422655...:兄弟别慌!💪 民办本找实习确实难点,但不是没机会。100+简历才2个面试,可能简历需要优化下: 项目经历写具体点,突出测试用例、bug数量等 技能栏把测试工具/方法论写清楚 可以考虑降低预期,先进小厂积累经验 测试岗相对好进,坚持投!现在才半个月,有人投3个月才上岸的😭 加油,offer在路上了🚀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务