我是靠谱客的博主 快乐小蚂蚁,最近开发中收集的这篇文章主要介绍Groovy集合,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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会让执行器以为你在取一个keyclass.
如下:

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集合所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部