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