前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )

【Groovy】集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )

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

文章目录

一、调用集合的 every 方法判定集合中的所有元素是否符合闭包规则


集合的 every 方法 , 用于 判定 集合中的 所有元素是否 都符合指定的 闭包规则 ;

  • 如果 所有的元素否符合 , 则返回 true ;
  • 如果 有
1

个元素不符合 , 即使其它

99

个元素符合 , 返回 false ;

只要集合中出现一个元素不符合闭包规则 , 则返回 false ;

Collection 的 every 函数原型 :

代码语言:javascript
复制
    /**
     * 用于确定给定谓词闭包是否有效 (i.e.&nsbp;返回
     * <code>true</code> 当所有的集合元素都符合闭包谓词).
     * 集合的简单示例:
     * <pre>def list = [3,4,5]
     * def greaterThanTwo = list.every { it > 2 }
     * </pre>
     *
     * @param self    要遍历的集合
     * @param closure 闭包 , 其中定义匹配规则
     * @return 如果对象的每次迭代都与闭包谓词匹配,则为 true
     * @since 2.3.0
     */
    public static <T> boolean every(Iterable<T> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure closure) {
        return every(self.iterator(), closure);
    }

" =~ " 运算符相当于 Java 中的 contains 函数 , 用于判断字符串中是否包含了另外一个子串 ;

代码示例 :

代码语言:javascript
复制
        // 为 ArrayList 设置初始值
        def list = ["Java", "Gradle"]

        // 查找集合中的元素是否都包含 a
        def isContainA = list.every{
            it =~ "a"
        }
        // true
        println isContainA

执行结果 :

代码语言:javascript
复制
true

二、代码示例


代码示例 :

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

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

        // 查找集合中的元素是否都包含 a
        def isContainA = list0.every{
            it =~ "a"
        }
        // true
        println isContainA

        // 定义集合
        def list = [3,4,5]
        // 判定每个元素是否都大于 2
        def greaterThanTwo = list.every { it > 2 }
        // 打印结果 , true , 上述集合中所有元素都大于 2 , 否符合闭包规则
        println greaterThanTwo

        // 定义集合
        def list2 = [3,4,5]
        // 判定每个元素是否都大于 3
        def greaterThanTwo2 = list.every { it > 3 }
        // 打印结果 , false , 上述集合中有 1 个元素等于 3 , 不符合闭包规则
        println greaterThanTwo2
    }
}

执行结果 :

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、调用集合的 every 方法判定集合中的所有元素是否符合闭包规则
  • 二、代码示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档