加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

连接布尔元素groovy的列表

发布时间:2020-12-14 16:29:39 所属栏目:大数据 来源:网络整理
导读:我有一个布尔元素列表: def list=[true,false,true,true] 我问是否存在如下方法: list.joinBoolean('') 假 因为:真实虚假真实真=假 list.joinBoolean('||') 真正 因为:true ||假||真||真=真 如果它不存在,我知道如何进行循环以获得预期的结果; 和 boolea
我有一个布尔元素列表:

def list=[true,false,true,true]

我问是否存在如下方法:

list.joinBoolean('&&')

<假

因为:真实&&虚假&&真实&&真=假

list.joinBoolean('||')

<真正

因为:true ||假||真||真=真

如果它不存在,我知道如何进行循环以获得预期的结果;

boolean tmp=true;
  list.each{e->
     tmp=tmp && e;    
  }
   return tmp;

要么

boolean tmp=false;
  list.each{e->
     tmp=tmp || e;    
  }
   return tmp;

解决方法

要么:

list.inject { a,b -> a && b }
list.inject { a,b -> a || b }

如果列表可以为空,则需要使用更长的注入形式:

list.inject(false) { a,b -> a && b }
list.inject(false) { a,b -> a || b }

或者使用以下任何一种方法

顺便说一句

其他答案中提到的任何和所有功能的工作方式如下:

list.any()
list.every()

或者(更长的形式)

list.any { it == true }
list.every { it == true }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读