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

文章目录

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

二、代码示例





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


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


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

如果 有 1 11 个元素不符合 , 即使其它 99 9999 个元素符合 , 返回 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 函数 | 代码示例 )

上一篇:C++ STL算法系列2---find ,find_first_of , find_if , adjacent_find的使用


下一篇:【Groovy】集合遍历 ( 操作符重载 | 集合中的 “ << “ 操作符重载 | 使用集合中的 “ << “ 操作符添加一个元素 | 使用集合中的 “ << “ 操作符添加一个集合 )