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

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;
    }


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值