map的实现类
|----Map:双列数据,用于存储key-value对的数据 -----类似于高中的函数 y=f(x)
-
|----HashMap:作为Map的主要实现类;线程不安全,效率高:存储null的key和value -
|----LinkedHashMap:保证在遍历map元素时,可以按照添加的顺序实现遍历。 -
原因:在原有的HashMap底层结构的基础上,添加了一对指针,指向前一个和后一个元素 -
对于频繁的遍历操作,此类执行效率高于HashMap。 -
|----TreeMap 保证按照添加的key-value对进行排序,实现排序遍历。此时考虑key的自然排序和定制排序 -
|----hashtable:作为古老的实现类:线程安全,效率低 不能存储null的key value -
|----Properties 常用来处理配置文件。key和value都是String类型 -
HashMap的底层:数组+链表(jdk7及之前) -
数组+链表+红黑树(jdk8后)红黑树为了提升效率 -
面试题 -
1、 HashMap:的底层原理 ↑ -
2、 HashMap和Hashtable的异同 -
3、CurrentHashMap 与Hashtable的异同
浙公网安备 33010602011771号