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集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )