概述
List 对象
声明一个List
:
def list = []
println(list.class)
输出:
class java.util.ArrayList
可以看到groovy中使用[]
直接创建一个ArrayList
对象,如果我们需要链表的呢?
def list = [] as LinkedList
println(list.class)
输出
class java.util.LinkedList
List常用函数
def list = [1, 2, 3, 4, 2]
//println(list - 2) //[1, 3, 4] 删除集合中所有的2,然后返回一个新的集合 。注意不影响源集合
//println(list)//[1, 2, 3, 4, 2]
//println(list + 2)//1, 2, 3, 4, 2, 2] 添加一个2到新的集合中,然后返回[。注意不影响源集合
//println(list)//[1, 2, 3, 4, 2]
//println(list << 2)//[1, 2, 3, 4, 2, 2] 添加一个2到集合中,返回原集合。注意影响源集合
//println(list )//[1, 2, 3, 4, 2, 2]
//list << [1,2]//[1, 2, 3, 4, 2, [1, 2]] 特别注意<<放入集合对象的时候会把它作为一个item,而不会铺平
//println(list)
//集合中有一个元素满足就返回true
//def result = list.any {
// it == 2
//}
//println(result)
//集合全部元素满足返回true
//def result = list.every() {
// it == 2
//}
//println(result)
//遍历所有集合
//list.forEach { value ->
// printf "$value"
//}
//遍历源集合,然后收集每次closure返回结果作为一个集合,比如这里newList就是[2, 3, 4, 5, 3]
//def newList = list.collect { value ->
// value + 1
//}
//println(newList)
//铺平内部元素的集合。用于将集合中嵌套的集合转化为单个元素.注意这个不会影响源集合
//def flatList=[1,2,[1,3]]
//
//println(flatList.flatten())//[1, 2, 1, 3] 原来末尾的[1,3]也是一个集合作为flatList的item
//println(flatList)//[1, 2, [1, 3]]
//遍历
//for (i in list) {
// printf "$i"
//}
//逆序遍历,reverse会返回一个逆序的新集合
//for (i in list.reverse()) {
// printf "$i"
//}
//def strList = ["asd", "aaaaaa"]
//用closure返回的类型进行比较,然后返回最大的数值
//def d = strList.max {
// it.length()
//}
//
//printf "$d"
Map
对象
声明方法:
def list = [a: "xiaoming", b: "lihong", c: "wangwu"]
//注意这里不能直接 list.class 后面讲解
println(list.getClass())
获取键值
def list = [a: "xiaoming", b: "lihong", c: "wangwu"]
println(list.a)
println(list.b)
println(list.c)
println(list.get('a'))
println(list.get('b'))
println(list.get('c'))
println(list.'a')
println(list.'b')
println(list.'c')
println(list['a'])
println(list['b'])
println(list['c'])
由于存在map.键值
的语法,导致map.class
会让执行器以为你在取一个key
为class
.
如下:
def list = [class: "xiaoming"]
println(list.class)
输出
xiaoming
map常用方法
def map = [a: "xiaoming"]
//添加到源集合
//map << [b: 's']
//返回一个新的集合
//map + [c: 's']
//遍历
//for (i in map) {
//
//}
//遍历
map.forEach{key,value->
}
最后
以上就是快乐小蚂蚁为你收集整理的Groovy集合的全部内容,希望文章能够帮你解决Groovy集合所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复