# Groovy 集合类型摘要

**URL:** <https://www.isharkfly.com/t/groovy/6955>\
**Category:** 程序语言\
**Created:** [November 27, 2012, 5:13am UTC](https://www.isharkfly.com/t/groovy/6955 "2012-11-27T05:13:55Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [November 27, 2012, 5:13am UTC](https://www.isharkfly.com/t/groovy/6955/1 "2012-11-27T05:13:55Z")

</div>

我们讨论了groovy的数据类型，采用了许多不同的方式来了解新的知识。

我们介绍了range对象——不是一个控制结构，它有自己生存时间和创建地点，range对象能够作为一个参数传递给方法，并且能够作为一个方法调用的结果返回，这使得range非常灵活，并且由于range是存在的，因此它们可以用于许多无法简单控制的结构中，你已经看到的大多数例子是通过使用range作为list的下标数来萃取list中的元素。

List和map对于java程序员来说是非常熟悉的，但是也缺少后台语言的更好的支持，groovy认为list和map是非常常用的数据类型，它给它们在声明方面的特殊处理，当然为了方便而提供了操作符和附加的方法。List和map在groovy的用法和它们在java中的用法是相同的，并且遵循java的规则和限制，尽管通过附加的方法减少了操作集合的难度。

在我们讨论groovy数据类型的过程中，你已经看到了无处不在的闭包，这些闭包像函数一样简单，在下一章，我们将揭秘这个概念，讲解常用的和不常用的应用程序，并且指出你应该怎样使用闭包写自己的代码。
