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

一、Predicate

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

Stage 1: 创建方法

Stage 2: 调用方法

Stage 3: 执行结果


一、Predicate

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

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

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

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

    boolean test(T t);
}

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

Stage 1: 创建方法

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

Stage 2: 调用方法

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

    }

Stage 3: 执行结果

文章来源地址https://uudwc.com/A/EvkMD

原文地址:https://blog.csdn.net/ladymorgana/article/details/132988750

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月25日 05:14
解决 Error: Cannot find module ‘C:\Users\xxx\AppData\Roaming\npm\...\pnpm.cjs 问题
下一篇 2023年09月25日 05:14