我是靠谱客的博主 聪慧乐曲,最近开发中收集的这篇文章主要介绍Gradle系列知识(三)——Groovy的数据结构Map,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、Map的定义和访问
def students = ["001":"Tom","002":"Jack","003":"Rose","004":"Tim"]

println students['001']
println students."002"

输出结果

Tom
Jack
二、添加元素
def students = ["001":"Tom","002":"Jack","003":"Rose","004":"Tim"]
//添加元素
students."005" = "Lily"
println students
[001:Tom, 002:Jack, 003:Rose, 004:Tim, 005:Lily]
三、遍历Map
def students = ["001":"Tom","002":"Jack","003":"Rose","004":"Tim","005":"Lily"]

students.each {
    println "key ="+it.key+"   value ="+it.value
}

输出结果

key =001   value =Tom
key =002   value =Jack
key =003   value =Rose
key =004   value =Tim
key =005   value =Lily

另外还有几种遍历方式

//用键值对的方式
students.each {def key,def value ->
    println "key=${key}"+"    value=${value}"
}
//用entry对象的方式
students.each {def student ->
    println "key=${student.key}"+"  value=${student.value}"
}
//带索引的方式
students.eachWithIndex{ def student,int index->
    println "index=${index}"+"  key=${student.key}"+"    value=${student.value}"
}
students.eachWithIndex{ def key,def value,int index->
    println "index=${index}"+"  key=${key}"+"    value=${value}"
}
四、查找
def students = ["001":"Tom","002":"Jack","003":"Rose","004":"Tim","005":"Lily","006":"Jack"]

//单个查询
def result = students.find {
    return  it.value == "Rose"//这里跟前面的list一样,闭包里面有默认参数it是遍历的Map中的元素Entry
}
println result

//嵌套查找
//我们现在需要查找名称是Jack的所有学号

def num = students.findAll {def student->
    return student.value == "Jack"
}.collect {
    return it.key
}

println num.toListString()

我们可以通过collect 集合收集迭代,使用闭包作为变换器将每个元素转换为新值。上面代码的第一步就是通过findAll 查找到所有value是Jack的student,第二步就是通过collect 将第一步查找的结果的student转化为学号key,看看输出结果:

003=Rose
[002, 006]

Groovy 还支持分组查询

def students = ["001":"Tom","002":"Jack","003":"Rose","004":"Tim","005":"Lily","006":"Jack"]


def result = students.groupBy {
    return it.value == "Jack"?"group_jack":"group_default"
}

println result

输出结果

[group_default:[001:Tom, 003:Rose, 004:Tim, 005:Lily], group_jack:[002:Jack, 006:Jack]]
五、删除和排序

删除跟List 的API一样,这里不赘述了,排序用法跟List也差不多,只是Map调用sort排序后悔生成一个新的对象,原对象不会有任何改变,所以我们必须用引用接收sort的返回值

最后

以上就是聪慧乐曲为你收集整理的Gradle系列知识(三)——Groovy的数据结构Map的全部内容,希望文章能够帮你解决Gradle系列知识(三)——Groovy的数据结构Map所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部