Groovy集合类型
来源:互联网 发布:时间序列算法 rsi 编辑:程序博客网 时间:2024/06/18 17:16
Groovy中有3种集合类型,分别是列表List、映射Map、区间Range
1、列表
List的初始化,直接在 [ ] 中直接写入初始的数据即可
def list1 = [1,2,3]List支持的运算符和方法:
def list2 = list1 * 2 // [1,2,3,1,2,3]list2.unique() // [1,2,3]list1.size() // 3list1.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.key1map['key1']// 获得这个map的key,结果为key1map.keySet()如果map的key是变量
def key = 'key123'def map1 = [(key): "MyBook"]// 需要用括号将key的变量括起来为初始化的map添加和删除key
map1["newKey"] = "newValue"// 此时map1 就变成 ["key123":"MyBook", "newKey":"newValue"]map1.remove("newKey")// 此时map1.newKey 结果为null
3、区间
区间的定义有两种形式,第一种为闭区间“起始..结束”;
另一种为左闭右开区间”起始..<结束“
def range1 = 1..5 // range1 长度是5,包含数字5def range2 = 1..<5 // range2 长度是4,不包含数字5前置的*符号,可以把区间展开,用于构造List
[* range1] // 结果为 [1,2,3,4,5]区间运用最常见的用法是用于循环和switch语句中
// 用于循环def log = ''for(i in 1..5){ log += i}// 输出log的结果为'12345'// 用于switch循环def score = 35switch(score){ case 0..<60 : println 'not pass' break case 60..100 : println 'pass'}
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集合
- JESD204B_SystemC_module Deterministic Latency(5)
- codeforces 343B Alternating Current 【栈】
- linux 路由表设置 之 route 指令详解
- 记一次处理 list 的 remove 方法遇到的问题
- 嵌入式linux下如果忘记密码如何解决(带TF卡)
- Groovy集合类型
- Linux系统安装后只能从U盘启动,解决办法
- Cocoapods 安装
- error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
- 解题报告 之 HDU5328 Problem Killer
- overflow属性
- 知乎(高逼格)android开发offer——get
- 在结构体中定义宏定义意义
- vsphere之vmotion精华