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

collections – 如何使用groovy集合的collect()方法调用具有多个

发布时间:2020-12-14 16:21:17 所属栏目:大数据 来源:网络整理
导读:假设我有一个闭包: def increment = {value,step - value + step } 现在我想循环遍历整数集合的每个项目,用5增加它,并将新元素保存到新集合: def numbers = [1..10]def biggerNumbers = numbers.collect { it + 5} 现在我希望通过使用增量闭包来实现相同的
假设我有一个闭包:

def increment = {value,step ->
   value + step 
}

现在我想循环遍历整数集合的每个项目,用5增加它,并将新元素保存到新集合:

def numbers = [1..10]
def biggerNumbers = numbers.collect {
      it + 5
}

现在我希望通过使用增量闭包来实现相同的结果.我怎样才能做到这一点?

应该是这样的(下面的代码错误):

def biggerNumbers = numbers.collect increment(it,5) //what's the correct name of 'it'??

解决方法

你的问题的解决方案是在闭包中嵌套你的增量调用:

def biggerNumbers = numbers.collect {increment(it,5)}

如果你想将一个premade闭包传递给collect,你应该让它与collect兼容 – 接受一个参数:

def incrementByFive = {it + 5}
def biggerNumbers = numbers.collect incrementByFive

(编辑:李大同)

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

    推荐文章
      热点阅读