Groovy入门教程:集合、闭包与遍历

需积分: 9 13 下载量 91 浏览量 更新于2024-09-13 收藏 240KB DOC 举报
"Groovy快速入门教程" Groovy是一种基于Java平台的动态编程语言,它以其简洁的语法和强大的功能深受开发者喜爱。对于初学者来说,理解Groovy的基础知识至关重要,尤其是集合、闭包以及迭代方法的使用。 1、集合 在Groovy中,集合包括List和Map。List是用来存储有序元素的容器,类似于Java的ArrayList。例如: ```groovy list = [1, 2, 'hello', new java.util.Date()] assert list.size() == 4 assert list.get(2) == 'hello' ``` 这里的`list`包含了四个元素,包括一个整数、一个整数、一个字符串和一个Date对象。值得注意的是,Groovy中的一切都是对象,即使是数字也会自动转换为对象。 Map则用来存储键值对,如下所示: ```groovy map = ['name': 'James', 'location': 'London'] assert map.size() == 2 assert map.get('name') == 'James' ``` 这个`map`有两个键值对,可以通过键来获取对应的值。 2、闭包(Closures) 闭包是Groovy的核心特性之一,它类似于Java的匿名内部类,但更简洁。闭包可以看作是一个可执行的代码块,可以接受参数并返回结果。例如: ```groovy // 单参数闭包 closure = { param | println("hello ${param}") } closure.call("world!") // 多参数闭包 closure = { greeting, name | println(greeting + name) } closure.call("hello", "world!") ``` 闭包由`{}`包围,参数在`|`之前,处理语句在`|`之后。在新版本的Groovy中,通常使用`->`代替`|`来分隔参数。如果只有一个参数,可以省略参数名,使用默认的`it`变量。 3、each `each`方法用于遍历集合,并将每个元素传递给闭包处理。例如: ```groovy [1, 2, 3].each { item | print "${item}-" } ``` 这段代码会打印出"1-2-3-",`each`方法使得我们可以轻松地对集合中的每个元素进行操作。 4、collect `collect`方法也用于遍历集合,但它的作用是根据闭包返回的新值创建一个新的集合。例如: ```groovy [1, 2, 3].collect { it * 2 } // 返回 [2, 4, 6] ``` 在这个例子中,`collect`将原集合中的每个元素乘以2,然后将结果组成一个新的集合。 Groovy的这些基本概念是理解和使用Groovy进行开发的基础。通过深入学习和实践,你可以更好地掌握Groovy的动态性和灵活性,从而在实际项目中发挥其优势。