Map
Posted aishuijdemiaomiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Map相关的知识,希望对你有一定的参考价值。
- 地图,和实际地点有映射关系
- 内置对象Entry,包含两个元素
- 单项一对一的关系
- 大词典,可以根据相应的键来找到值
- 方法
- Object put(Oject key,Object value)
- Object remove(Object key)
- void putAll(Map t)
- void clear()
- Ojbect get(Object key) //查词典
- boolean containsKey(Object value)
- Set getSet();
- Collection values()
- set entrySet()
- 实现子类
- HashMap
- 哈希算法实现,和treeSet有相似之出
- 使用哈希算法来计算地址偏移量,偏移到具体的地址,若无数据,则添加,若有数据,则构建红黑树,若当数据达到数组的3/4的时候进行扩容,所有map里的元素重新排列分布,当内存充裕的时候可极大提高效率
- Hashtalbe 较老的的版本,效率较低
- Properties 类,管理配置文件
- 属性key和value都是string
- 一般用于配置文件
- getProperties(key)
- 哈希算法实现,和treeSet有相似之出
- TreeMap
- 键值实现自然排序,所有前提是key必须是可比对象。(和treeset不同的是treeset可以通过传入的自定义比较器,来让对象可比,treemap不具此特性)
- LinkedMap
- HashMap
- 遍历方式
- foreach, foreach内置遍历机制可以遍历collection。
- Set getSet(); //map把key包装成set,通过foreach遍历
- Set entrySet(); //map把键值对包装成entry(内置类),通过foreache遍历
- Iterator, 集合实现类Iterator接口,可以通过生成迭代器来遍历
- 同上
- 比较,
- foreach代码更简洁,从1.5开始foreach出现,是比较新的遍历器,但底层是用迭代器实习
- Iterator一开始的map唯一遍历方式,更安全,更可靠,但是代码略臃肿
- foreach, foreach内置遍历机制可以遍历collection。
以上是关于Map的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin集合操作 ⑤ ( Map 集合 | 获取 Map 值 | Map 遍历 | 可变 Map 集合 )