Groovy集合类型
来源:互联网 发布:家装cad平面设计软件 编辑:程序博客网 时间:2024/05/29 16:47
Groovy中有3种集合类型,分别是列表List、映射Map、区间Range
1、列表
List的初始化,直接在 [ ] 中直接写入初始的数据即可
- def list1 = [1,2,3]
- def list2 = list1 * 2 // [1,2,3,1,2,3]
- list2.unique() // [1,2,3]
- list1.size() // 3
- list1.reverse() // [3,2,1]
- [1,2,3,4] + [5] // [1,2,3,4,5]
- [1,2,3,4] + 5 // [1,2,3,4,5]
- [1,2,3,4] << [5] // [1,2,3,4,5]
- [1,2,3,4,1] - [1] // [2,3,4]
- [1,2,3,4,1] - 1 // [2,3,4]
- [1,2,3,[4,5]].flatten() // [1,2,3,4,5]
- [1,2,3,4].max() // 4
- [1,2,3,4].min() // 1
- [1,2,3,4,1].count(1) // 2
- [1,2,3,4].sum() // 10
- [1,3,2,4].sort() // [1,2,3,4]
- def list2 = [[1,1],[2,2],[3,3]]
- list2*.unique() // [[1],[2],[3]]
- // *运算符,含义是依次对List每个元素调用*后面的方法
2、映射
创建Map,用key : value 的形式成对出现,初始化时的key默认会被当做字符串处理
- def map = [key1: 'value1']
- // 获得value1的值
- map.key1
- map['key1']
- // 获得这个map的key,结果为key1
- map.keySet()
- def key = 'key123'
- def map1 = [(key): "MyBook"]
- // 需要用括号将key的变量括起来
- map1["newKey"] = "newValue"
- // 此时map1 就变成 ["key123":"MyBook", "newKey":"newValue"]
- map1.remove("newKey")
- // 此时map1.newKey 结果为null
3、区间
区间的定义有两种形式,第一种为闭区间“起始..结束”;
另一种为左闭右开区间”起始..<结束“
- def range1 = 1..5 // range1 长度是5,包含数字5
- def range2 = 1..<5 // range2 长度是4,不包含数字5
- [* range1] // 结果为 [1,2,3,4,5]
- // 用于循环
- def log = ''
- for(i in 1..5){
- log += i
- }
- // 输出log的结果为'12345'
- // 用于switch循环
- def score = 35
- switch(score){
- case 0..<60 : println 'not pass'
- break
- case 60..100 : println 'pass'
- }
转载于:http://blog.csdn.net/ld_____/article/details/48026971
0 0
- Groovy的集合类型
- Groovy集合类型
- Groovy---集合类型
- Groovy集合类型
- Groovy集合类型
- Groovy三大集合类型
- Groovy 集合
- Groovy 集合
- Groovy 集合
- Groovy 集合
- Groovy入门(二)——集合类型-Range
- Groovy入门(三)——集合类型List
- Groovy中的集合实用
- groovy入门3 集合
- Groovy集合(list)
- Groovy集合(map)
- Groovy入门--集合
- Groovy使用List集合
- Javascript的setTimeOut和setInterval用法
- 【android学习笔记】 android.os.NetworkOnMainThreadException错误
- Hadoop启动异常的处理方法
- 资源打包后项目中的文件
- Spring AOP Advices - After returning advice example - xml based configuration
- Groovy集合类型
- Unity LOD LODGroup (LOD Bias)
- Android实现系统下拉栏的消息提示——Notification
- 使用json来定义函数,在里面可以定义多个函数
- Easyui Datebox设置可选时间范围
- MVC Kendo总结之-----> Grid
- 潜龙(CHLoong)可视化图谱
- Android Scroller类的详细分析
- java日志: logback和slf4j