ToB企服应用市场:ToB评测及商务社交产业平台

标题: 集合-Map [打印本页]

作者: 傲渊山岳    时间: 2022-8-26 01:23
标题: 集合-Map
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)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4