【Groovy】集合遍历 ( 调用集合的 any 函数判定集合中是否有指定匹配规则的元素 | 代码示例 )
【摘要】
文章目录
一、集合的 any 函数二、集合的 any 函数代码示例
一、集合的 any 函数
集合的 any 函数 , 用于判断集合中是否有 满足闭包中的条件 的元...
一、集合的 any 函数
集合的 any 函数 , 用于判断集合中是否有 满足闭包中的条件 的元素 , 返回一个布尔值 , true 或者 false ;
传入的闭包参数中 , it 表示当前正在判断的 集合元素值 , 在
def list = ["Java", "Kotlin", "Groovy", "Gradle"]
- 1
集合中 , it 的类型是集合元素类型 String ;
如果找到了 匹配闭包中的条件 的元素 , 则返回true ; 否则 , 返回 false ;
集合中的 any 函数运行 :
/**
* 迭代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;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
二、集合的 any 函数代码示例
代码示例 :
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
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
执行结果 :
true
false
- 1
- 2
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/122166069
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)