Groovy代码示例 – collect()方法

collect()方法的使用

Groovy的collect()方法用于遍历集合对象并执行闭包。本文将示例集合对象的collect()方法的使用。

collect()方法可以接受默认的闭包Closure.IDENTITY作为参数,也可以使用闭包(closure)作为参数,还可以使用集合(collection)及闭包(closure)作为参数。

//默认的闭包
public List collect()

//闭包作为参数
public List collect(Closure transform)

//集合和闭包作为参数
public Collection collect(Collection collector, Closure transform)

下面看一下简单collect()方法的典型应用

//定义一个list
def fruits = ["Banana", "Apple", "Grape", "Pear"]
//it为集合中的每个对象 对于每个对象执行toUpperCase()把所有的对象变成大写
def upperCaseFruits = fruits.collect { it.toUpperCase() }
println upperCaseFruits // [BANANA, APPLE, GRAPE, PEAR]

使用Collect()方法遍历并提供初始的集合对象作为参数

我们看一下如何遍历一个集合(fruits)以及把额外的集合(initialFruits)作为collect()方法的参数共同遍历。

//定义额外的集合
def initialFruits = ["Orange", "Lemon"]
//定义要遍历的集合
def fruits = ["Banana", "Apple", "Grape", "Pear"]
//执行遍历与闭包
def totalFruits = fruits.collect(initialFruits, { it.toUpperCase() })

//执行遍历的集合数据改变
println totalFruits // [Orange, Lemon, BANANA, APPLE, GRAPE, PEAR]
//额外集合的数据同样改变
println initialFruits // [Orange, Lemon, BANANA, APPLE, GRAPE, PEAR]

接下来看看如何遍历集合获得没有重复值的集合数据

//定义一个list,有重复数据Banana
def fruits = ["Banana", "Apple", "Grape", "Pear", "Banana"]
//使用一个空的HashSet作为遍历参数并执行闭包
def distinctFruits = fruits.collect(new HashSet(), { it })

//获得到没有重复数据的集合
println distinctFruits // [Apple, Pear, Grape, Banana]

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/05/07/groovy-code-example-collect-method/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Groovy代码示例 – collect()方法
collect()方法的使用 Groovy的collect()方法用于遍历集合对象并执行闭包。本文将示例集合对象的collect()方法的使用。 collect()方法可以接受默认的闭包Closur……
<<上一篇
下一篇>>
文章目录
关闭
目 录