Groovy集合(map)
来源:互联网 发布:看图软件apk 编辑:程序博客网 时间:2024/05/27 16:43
声明map
Map的规范和上一篇博客提到的list类似,helist一样,Map保证可以通过下标来获取或者设置值,不同的是map可以使用任何类型作为下标操作符的参数,而list仅仅支持整数,list知道list中元素的顺序,而map一般不知道,特殊的map如java.util.TreeMap
也可以知道他们的key的顺序。
理论上 ,任何类型都可以作为map的键(key)或者值(value),当使用特殊类型作为key的时候,需要遵循java.util.Map
在javaDoc中的规定。
通过[:]
来声明一个空的map,map缺省的类型是java.util.HashMap,也可以通过调用构造方法进行显示声明,这样map仍然可以使用下标操作符进行操作。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
一般情况下key的类型都是字符串,在声明map的时候可以忽略字符串标记(单引号或者双引号):assert ["a":1] == [a:1]
,如果key没有包含特殊字符(需要符合有效表示规则)而且不是groovy的关键字,那么允许通过这种便利的方式进行声明。
这种方式也有不便的地方,例如,本地变量的内容被用作key。假如有一个本地变量x,它的内容为’a’,由于[x:1]等价于[‘x’:1],那么如何保证它等于[‘a’:1]呢?通过把把符号放在圆括号中,强制让groovy将符号看做一个表达式:
- 1
- 2
- 3
使用map操作符
Groovy中有三种从map中获取对象的方法:
- 使用下表操作符,因为map实现了getAt方法;
- 使用点语法像使用属性那样来获取对象;
- 使用get()方法,可以传递一个缺省值,在map中没有相应的key时,允许返回缺省值,如果没有缺省值放回null,如果get(key,default)被调用时,key没有找到,缺省值返回,那么key:defualt对将被增加到map中。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
将值分配给map时可以使用下标操作符或者点语法,在使用点语法时,如果key包含了特殊字符,需要使用字符串符号括起来。
- 1
- 2
如果仅仅写成map.a.b,这里是不会正常工作的,这其实等价于map.getA().getB().
map方法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
遍历map
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
修改map
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
map实战
统计文章中单词出现的频率
- Groovy集合(map)
- Groovy集合(map)
- groovy的集合 Map
- groovy map集合使用
- Groovy入门(四)——集合Map
- groovy Map
- Groovy 集合
- Groovy 集合
- Groovy 集合
- Groovy 集合
- Groovy的一些Map
- groovy脚本使用map
- Groovy map排序
- groovy操作map,json
- 集合框架(Map)
- java集合(Map)
- Java 集合(Map)
- 集合框架(Map)
- merge and rebase
- Java Map释放内存置null以及调用clear()的区别
- cypher实践之获取路径中name属性最短的那个节点
- chrome开发者工具使用技巧(看了定不让你失望)
- jhat:虚拟机堆转储快照分析工具
- Groovy集合(map)
- 详细图解mongodb下载、安装、配置与使用
- USB 配置,接口,设置,endpoint描述符的关系
- 概率论大作业
- 8. python 点滴
- nginx配置TP5出现Access denied.
- Android如何刷新当前的Activity
- 初级学习oracle
- 博通千亿美元“迎娶”高通 是不是趁火打劫?