Groovy 适用于 Java 虚拟机的一种敏捷的动态语言,能够与 Java 代码很好的结合,可以用于面向对象编程,又可以用作脚本语言。
官网:http://www.groovy-lang.org/
集合类型
Groovy 使用的是 JDK 中 java.util.List 包,默认使用 java.util.ArrayList 类型。
Groovy 创建集合使用 [],各个元素使用逗号分隔,且各个元素之间类型可以不相同。
def list = [1, 'abc', true] assert list instanceof java.util.ArrayList // true for (info in list) { println(info) } println(list.size()) // 3
可以使用 as 关键字定义集合的类型
def list = [1, 'abc', true] as LinkedList assert list instanceof java.util.LinkedList // true
通过下标访问 list
def fruits = ["apple", "banana", "pear"] println(fruits[0]) // apply println(fruits[-1]) // pear println(fruits[10]) // null
元素操作
def fruits = ["apple", "banana", "pear"] // 修改元素 fruits[0] = 'tangerine' // 增加元素 fruits.add("orange") // 使用左移运算符 << 增加添加元素 fruits << 'grape' for (fruit in fruits) { println(fruit) }
支持多维集合。
数组类型
数组类型和集合类型相同,不过数组类型必须声明元素的类型,所以数组内所有元素类型一致。
String[] fruits = ["apple", "banana", "pear"] for (fruit in fruits) { println(fruit) } assert fruits instanceof String[]
通过下标访问数组
String[] fruits = ["apple", "banana", "pear"] println(fruits[0]) // apply println(fruits[-1]) // pear println(fruits[10]) // java.lang.ArrayIndexOutOfBoundsException
支持多维数组。