余腾

导航

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的异同
    

posted on 2021-07-29 21:04  余腾  阅读(180)  评论(0编辑  收藏  举报

Fork me on Gitee