常用的Map结构有:hashMap(最常用)、hashTable、LinkedHashMap、TreeMap(对存入的键值进行排序)

常用的Map结构有:hashMap(最常用)、hashTable、LinkedHashMap、TreeMap(对存入的键值进行排序)

LinkedHashMap和HashMap的区别

  • LinkedHashmap继承自hashMap,基于hashMap和双向链表实现
  • LinkedHashMap有序(插入有序和访问有序----默认为插入有序),hashMap则是无序
  • LinkedHashMap和hashMap都是基本entry[]存取数据
  • LinkedHashMap线程不安全

hashMap和hashTable的区别

  • hashMap和hashTable都实现Map接口,hashMap继承自AbstractMap,而hashTable继承自Dictionary

    常用的Map结构有:hashMap(最常用)、hashTable、LinkedHashMap、TreeMap(对存入的键值进行排序)

    常用的Map结构有:hashMap(最常用)、hashTable、LinkedHashMap、TreeMap(对存入的键值进行排序)

  • hashMap不是线程安全的,有多个Map同时存取数据时可能会发生数据错误,hashTable是线程安全的,但是效率较低,建议使用concurrentHashMap(采用类似段锁的方式提高效率)

  • hashMap允许一个键为null,允许多个值为空,hashTable不允许key或value为空

    hashMap实现原理

  • 存储过程

常用的Map结构有:hashMap(最常用)、hashTable、LinkedHashMap、TreeMap(对存入的键值进行排序)

  • 采用链表+数组的方式

常用的Map结构有:hashMap(最常用)、hashTable、LinkedHashMap、TreeMap(对存入的键值进行排序)