集合-Map

打印 上一主题 下一主题

主题 900|帖子 900|积分 2700

Map下的接口及其多个实现类
1.Map :双列数据存储key-value对的数据,---类似于高中弄的函数:y=f(x)
        (1)HashMap:作为map的主要实现类,线程不安全的,效率高,存储在null的key-value
          ①存储在null的key和value如下图所示

            LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历,是因为在原有的hashmap底层结构的基础上,添加了一对指针直向前一个和后一个元素
        (2)TreeMmap:保证按照添加的key-value 对进行排序,实现排序遍历,此时考虑key的自然排序,或者定制排序,底层使用红黑树
        (3)Hashtable :作为古老的实现了线程安全的,效率低,不能存储null的key-value
        ①不能存储null的dekey和value如下图所示


2.map中存储key - value的特点
(1)Map中的key是无序的,不可重复的,使用set存储所有的key -->key所在的类要重写equals和hashcode方法(以hashmap为例)
(2)Map中的value:无序的,可重复的,使用collection存储所有的value,--->value所在的类要重写equals()
   一个键值对:key-value构成一个entry对象
   Map中的entry:无序的,不可重复的,使用set存储有的entry;
3.hashmap的底层实现原理:
以jdk7为例说明:
   (1)HashMap map = new HashMap():在实例化以后,底层创建了一个长度为16的一维数组.
   map.put(key1,value1)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

傲渊山岳

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表