博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Map集合
阅读量:6347 次
发布时间:2019-06-22

本文共 1165 字,大约阅读时间需要 3 分钟。

 Map集合没有继承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每个key只能映射到一个value。key还决定了存储对象在映射中的存储位置,但不能由key对象本身决定的,而是通过一种“散列技术”进行处理,产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置。Map集合包括Map接口以及Map接口的所有实现类。

Map接口

     Map接口提供了将key映射到值得对象。一个映射不能包含重复的key,每个key最多只能映射到一个值。Map接口中同样提供了集合的常用方法,除此之外,还包括以下的常用方法。

put(K key,V value)                 向集合中添加指定的key与value的映射关系

containsKey(Object key)       如果此映射包含指定key的映射关系,则返回true

containsValue(Object value) 如果此映射将一个或多个key映射到指定值,则返回true

get(Object key)                      如果存在指定的key对象,则返回该对象对应的值,否则返回null

keyset()                                  返回该集合中的所有key对象形成的Set集合

value()                                    返回该集合中所有制对象形成的Collection集合

Map接口的实现类

Map接口常用的实现类有HashMap和TreeMap。建议使用HashMap类实现Map集合,因为由HashMap类实现的Map集合添加和删除映射关系效率更高。HashMap是基于哈希表的Map接口的实现,HashMap通过哈希码对其内部的映射关系进行快速查找;而TreeMap中的映射关系存在一定的顺序,如果希望Map集合中的对象也存在一定的顺序,应该使用TreeMap来实现Map集合。

     HashMap类是基于哈希表的Map接口的实现,此实现提供所有可选的映射操作,并允许使用null值和null键,但必须保证键的唯一性。HashMap通过哈希表对其内部的映射关系进行快速查找。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

     TreeMap类不仅实现了Map接口,还实现了java,util.SortedMap接口,因此,集合中的映射关系具有一定的顺序。但在添加、删除和定位映射关系时,TreeMap类比HashMap类性能稍差。由于TreeMap类实现的Map集合中的而映射关系时根据键对象按照一定的顺序排列的,因此不允许键对象是null。

     可以通过HashMap类创建Map集合,当需要顺序输出时,再创建一个完成相同映射关系的TreeMap类实例。

转载于:https://my.oschina.net/wf1994/blog/678194

你可能感兴趣的文章
windows下开发库路径解决方案
查看>>
linux迁移mysql数据目录
查看>>
脚本源码安装LNMP
查看>>
Percona Server安装
查看>>
函数为左边表达式
查看>>
2015.06.04 工作任务与心得
查看>>
icinga2使用587端口发邮件
查看>>
hpasmcli查看HP服务器内存状态
查看>>
极客工具
查看>>
【14】Python100例基础练习(1)
查看>>
boost bind使用指南
查看>>
使用ntpdate更新系统时间
查看>>
Android M 特性 Doze and App Standby模式详解
查看>>
IE FF(火狐) line-height兼容详解
查看>>
谷歌Pixel 3吸引三星用户, 但未动摇iPhone地位
查看>>
python获取当前工作目录
查看>>
VUE中使用vuex,cookie,全局变量(少代码示例)
查看>>
grep -w 的解析_学习笔记
查看>>
量化交易之启航
查看>>
TX Text Control文字处理教程(3)打印操作
查看>>