Groovy采用逗号分隔一个列表(List)中的值,并且会转译成JDK中的 java.util.List,并且Groovy的默认具体实现为 java.util.ArrayList , 但是我们可以手动的转为其他实现。
def numbers = [1, 2, 3] (1)
assert
numbers instanceof
List
(2)
assert numbers.size()
== 3
(3)
(1) 定义一个列表,其中的值由逗号进行分隔; |
(2) 该列表是实现了 java.util.List 接口的一个实例; |
(3) 调用 size() 方法,其中包含了3个元素。 |
甚至,我们可以定义一个混合元素的列表,如:
def heterogeneous = [1,"a", true]
在默认情况下,Groovy中的List实现的是java.util.ArrayList 类型,但是我们也可以使用 as 操作符将其强制转化为我们所期望的类型,如:
def arrayList
= [1,2,
3]
assert arrayList
instanceof java.util.ArrayList
def
linkedList = [2,
3,
4]
as
LinkedList (1)
assert linkedList
instanceof java.util.LinkedList
LinkedList
otherLinked = [3,
4,
5]
(2)
assert otherLinked
instanceof java.util.LinkedList
(1) 使用 as 操作符将其强制转换为 java.util.LinkedList 实现; |
(2) 将其申明为 java.util.LinkedList 类型。 |
我们可以使用 [] 下标操作符来读取或者设置特定位置的元素的值,并且如果 [] 中的索引值index 是正值的话,将索引index位置的元素,如果为负值的话,那么将会索引列表最后一个元素。<< (LeftShift)操作符可以向列表的尾部添加新的元素。
def letters = ['a', 'b', 'c', 'd']
assert
letters[0]
== 'a'
(1)
assert letters[1]
== 'b'
assert
letters[-1]
== 'd'
(2)
assert letters[-2]
== 'c'
letters[2]
= 'C'
(3)
assert letters[2]
== 'C'
letters
<<
'e'
(4)
assert letters[
4] ==
'e'
assert letters[-1]
== 'e'
assert
letters[1,
3] == ['b',
'd']
(5)
assert letters[2..4]
== ['C',
'd',
'e']
(6)
(1) 索引第一个元素值(0起始位); |
(2) 使用负值作为索引来获取最后一个元素; |
(3) 通过特定位置索引来设置列表中的元素值; |
(4) 使用 << (leftShift)操作符来向列表中添加新的元素; |
(5) 一次性获取列表中的两个元素; |
(6) 使用..来获取列表中一个范围内的元素,(起始位..终止位)。 |