您的位置:首页 > 其它

【Groovy手札】Groovy的List

2016-01-24 10:14 253 查看
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)
使用..来获取列表中一个范围内的元素,(起始位..终止位)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: