【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)
甚至,我们可以定义一个混合元素的列表,如:
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
我们可以使用 []
下标操作符来读取或者设置特定位置的元素的值,并且如果 []
中的索引值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)
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) 使用..来获取列表中一个范围内的元素,(起始位..终止位)。 |
相关文章推荐
- POJ 2485(最小生成树)
- python ftplib模块编写简单的ftp服务
- 无偏估计与自由度
- java基础学习笔记
- Springmvc(5)之多部件表单、json交互和拦截器
- 分享js document.all的用法
- Java SimpleDateFormat parse 遭遇unparsable date异常
- 求方差时为什么要除以N—1,而不是除以N!【通俗理解-非数学专业】
- APUE_内存管理
- rspec 单元测试问题
- spark 命令行环境 python
- 企业项目化管理【一】:项目管理软件选型指南
- 详解PHP对象的串行化与反串行化
- 数组
- Eclipse快捷键大全
- Flex xml编辑器(老外写的)
- 正则表达式基础整理
- [转]Linux下卸载Source Insight 和wine的方法
- HDU 1035 Robot Motion
- DPF的前途