Groovy使用List集合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy使用List集合相关的知识,希望对你有一定的参考价值。
- 获取List集合中的元素
def lst = [1,3,4,1,8,9,2,6] println lst[-1] println lst[-2] 输出结果: 输出: 6 2
- 使用Range(范围)对象获得集合中连续的几个值
//从左至右取值
def lst = [1,3,4,1,8,9,2,6] println lst[2..5] 输出结果: [4, 1, 8, 9]
//从右至左取值
def lst = [1,3,4,1,8,9,2,6] println lst[-1..-4]输出结果: [6, 2, 9, 8]
- 迭代ArrayList
//从左至右顺序迭代 lst = [1,3,4,1,8,9,2,6] lst.each{ print "${it}," } 输出结果: 1,3,4,1,8,9,2,6, //从右至左反方向迭代 lst = [1,3,4,1,8,9,2,6] lst.each{ print "${it}," } 输出结果: 6,2,9,8,1,4,3,1, //迭代中显示索引 def lst = [1,3,4,1,8,9,2,6] lst.eachWithIndex{ it,i -> print("${i},") } 输出结果: 0,1,2,3,4,5,6,7,
- 使用List的collect方法
//查找list元素 /*find()会找到第一次出现的匹配对象,它只会迭代到闭包返回true为止。已得到true,find方法就会停止迭代,并将当前的元素返回。如果遍历结束也没得到true,则返回null。*/ lst = [1,3,4,1,8,9,2,6] println lst.find{ it > 4 } 输出结果: 8 //查找list元素,返回所有符合条件元素 lst = [1,3,4,1,8,9,2,6] println lst.findAll{ it > 4 } 输出结果: [8,9,6] //查找list元素,返回元素下标 lst = [1,3,4,1,8,9,2,6] println lst.findAllIndexOf{ it == 4 } 输出结果: 2
- 使用List的排序
def ids = [5,6,3,7,1,4,9] //可以认为是 Comparator 排序 ids.sort { a,b-> return -a.compareTo(b) } println ids //自然排序 ids.sort(); println ids 输出结果: [9, 7, 6, 5, 4, 3, 1] [1, 3, 4, 5, 6, 7, 9]
- list去重
lst = [1,3,1,1,8,9,2,6] println lst.unique() 输出结果: [1, 3, 8, 9, 2, 6]
- 将list元素链接成一个字符串
lst = [‘顺丰海淘‘,‘就是好‘,‘只卖正品‘] println lst.join(‘‘) println lst.join(‘,‘) 输出结果: 顺丰海淘就是好只卖正品 顺丰海淘,就是好,只卖正品
- 元素替换
lst = [‘顺丰海淘‘,‘就是好‘,‘只卖正品‘] lst[0] = [‘sfht‘,‘.com‘] println lst.flatten() 输出结果: [sfht, .com, 就是好, 只卖正品]
- +/-操作符
lst = [‘顺丰海淘‘,‘就是好‘,‘只卖正品‘] println lst - [‘就是好‘] 输出结果: [顺丰海淘, 只卖正品] lst = [‘顺丰海淘‘,‘就是好‘,‘只卖正品‘] println lst + [‘你说呢‘] 输出结果: [顺丰海淘, 就是好, 只卖正品, 你说呢]
- list元素拉平
lst = [[1,2],‘顺丰海淘‘,‘就是好‘,‘只卖正品‘] println lst.flatten() 输出结果: [1,2,‘顺丰海淘‘,‘就是好‘,‘只卖正品‘]
以上是关于Groovy使用List集合的主要内容,如果未能解决你的问题,请参考以下文章