前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Groovy】集合遍历 ( 调用集合的 any 函数判定集合中是否有指定匹配规则的元素 | 代码示例 )

【Groovy】集合遍历 ( 调用集合的 any 函数判定集合中是否有指定匹配规则的元素 | 代码示例 )

作者头像
韩曙亮
发布2023-03-30 10:12:36
1.2K0
发布2023-03-30 10:12:36
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、集合的 any 函数


集合的 any 函数 , 用于判断集合中是否有 满足闭包中的条件 的元素 , 返回一个布尔值 , true 或者 false ;

传入的闭包参数中 , it 表示当前正在判断的 集合元素值 , 在

代码语言:javascript
复制
def list = ["Java", "Kotlin", "Groovy", "Gradle"]

集合中 , it 的类型是集合元素类型 String ;

如果找到了 匹配闭包中的条件 的元素 , 则返回true ; 否则 , 返回 false ;

集合中的 any 函数运行 :

代码语言:javascript
复制
    /**
     * 迭代iterable的内容,并检查谓词是否至少对一个元素有效.
     *
     * @param self    要遍历的 Iterable 对象 , 该参数一般是集合本身
     * @param closure 用于匹配的闭包谓词
     * @return true   如果对象的任何迭代与闭包谓词匹配
     * @since 1.0
     */
    public static <T> boolean any(Iterable<T> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure closure) {
        BooleanClosureWrapper bcw = new BooleanClosureWrapper(closure);
        for (Iterator<T> iter = self.iterator(); iter.hasNext();) {
            if (bcw.call(iter.next())) return true;
        }
        return false;
    }

二、集合的 any 函数代码示例


代码示例 :

代码语言:javascript
复制
class Test {
    static void main(args) {

        // 为 ArrayList 设置初始值
        def list = ["Java", "Kotlin", "Groovy", "Gradle"]

        // 查找集合中是否有 "Java" 元素
        def isMatch = list.any{
            it == "Java"
        }
        // true
        println isMatch

        // 查找集合中是否有 "C++" 元素
        isMatch = list.any{
            it == "C++"
        }
        // false
        println isMatch
    }
}

执行结果 :

代码语言:javascript
复制
true
false
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、集合的 any 函数
  • 二、集合的 any 函数代码示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档