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

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )相关的知识,希望对你有一定的参考价值。





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



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

  • 如果 所有的元素否符合 , 则返回 true ;
  • 如果 1 1 1 个元素不符合 , 即使其它 99 99 99 个元素符合 , 返回 false ;

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


Collection 的 every 函数原型 :


    /**
     * 用于确定给定谓词闭包是否有效 (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 函数 , 用于判断字符串中是否包含了另外一个子串 ;


代码示例 :

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

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

执行结果 :

true




二、代码示例



代码示例 :

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
    


执行结果 :

true
true
false

以上是关于Groovy集合遍历 ( 调用集合的 every 方法判定集合中的所有元素是否符合闭包规则 | =~ 运算符等价于 contains 函数 | 代码示例 )的主要内容,如果未能解决你的问题,请参考以下文章

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

Groovy集合遍历 ( 使用集合的 collect 循环遍历集合并根据指定闭包规则生成新集合 | 代码示例 )

Groovy集合遍历 ( “ *. “ 展开操作符 | 代码示例 )

Groovy集合遍历 ( “ *. “ 展开操作符 | 代码示例 )

Groovy集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )

Groovy集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )