微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Groovy使用List集合

1 获取List集合中的元素

def lst = [1,3,4,1,8,9,2,6]
println lst[-1]
println lst[-2]

输出结果:

6
2


2 使用Range(范围)对象获得集合中连续的几个值

def lst = [1,6] //从左至右取值
println lst[2..5]
println lst[-1..-4]
输出结果:
[4,9]//从右至左取值

输出结果:
[6,8]


3  迭代ArrayList


//从左至右顺序迭代
lst = [1,6]
lst.each{ print "${it}," }
输出结果:
1,6,
 
//从右至左反方向迭代
lst = [1," }

输出结果:
6,
 
//迭代中显示索引
def lst = [1,6]
lst.eachWithIndex{ it,i -> print("${i},") }

输出结果:
0,5,7,


4 使用List的collect方法


//查找list元素
/*find()会找到第一次出现的匹配对象,它只会迭代到闭包返回true为止。已得到true,find方法就会停止迭代,并将当前的元素返回。如果遍历结束也没得到true,则返回null。*/
lst = [1,6]
println lst.find{ it > 4 }
输出结果:
8

//查找list元素,返回所有符合条件元素
lst = [1,6]
println lst.findAll{ it > 4 }

输出结果:
[8,6]
 
//查找list元素,返回元素下标
lst = [1,6]
println lst.findAllIndexOf{ it == 4 }

输出结果:
2


5 使用List的排序

def ids = [5,9] 
//可以认为是 Comparator 排序 
ids.sort { a,b-> 
    return -a.compareto(b) 
} 
println ids 
//自然排序 
ids.sort(); 
println ids

输出结果:
[9,1]
[1,9]


6 list去重


lst = [1,6]
println lst.unique()

输出结果:
[1,6]


7 将list元素链接一个字符串



lst = ['顺丰海淘','就是好','只卖正品']
println lst.join('')
println lst.join(',')

输出结果:
顺丰海淘就是好只卖正品
顺丰海淘,就是好,只卖正品


8 元素替换


lst = ['顺丰海淘','只卖正品']
lst[0] = ['sfht','.com']
println lst.flatten()

输出结果:
[sfht,.com,只卖正品]
 
9  +/-操作符

lst = ['顺丰海淘','只卖正品']
println lst - ['就是好']

输出结果:
[顺丰海淘,只卖正品]
 
lst = ['顺丰海淘','只卖正品']
println lst + ['你说呢']

输出结果:
[顺丰海淘,只卖正品,你说呢]


10 list元素拉平

lst = [[1,2],'顺丰海淘','只卖正品']
println lst.flatten()
输出结果: [1,'只卖正品']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐