【JDK 8-函数式编程】4.5 Predicate

一、Predicate

二、实战:判断List中以a开头的字符串

Stage 1: 创建方法

Stage 2: 调用方法

Stage 3: 执行结果


一、Predicate

  • 断言型接口: T:入参类型,返回值类型 boolean

  • 调用方法: boolean test(T t);

  • 用途: 接收一个参数,用于判断是否满足一定的条件,过滤数据

/**
 * @param  the type of the input to the predicate
 */
@FunctionalInterface
public interface Predicate {

    boolean test(T t);
}

二、实战:判断List中以a开头的字符串

Stage 1: 创建方法

    public static List filter(List list, Predicate predicate) {
        List results = new ArrayList<>();
        list.forEach(s -> {
            if (predicate.test(s)) {
                results.add(s);
            }
        });
        return results;
    }

Stage 2: 调用方法

    public static void main(String[] args) {
        List list = Arrays.asList("alis", "bron", "caiwen", "duo", "fanc", "abc");
        List results = filter(list, obj -> obj.startsWith("a"));
        log.info(list.toString());
        log.info(results.toString());

    }

Stage 3: 执行结果

【JDK 8-函数式编程】4.5 Predicate_第1张图片

你可能感兴趣的:(架构师之路-java,java,开发语言,lambda)