HashMap与HashTable的区别: 1、HashMap是非线程安全的,HashTable是线程安全的。

                                        2、HashMap的键和值都允许有null值存在,而HashTable则不行。

                                        3、因为线程安全的问题,HashMap效率比HashTable的要高。

HashMap的实现机制:

  1. 维护一个每个元素是一个链表的数组,而且链表中的每个节点是一个Entry[]键值对的数据结构。
  2. 实现了数组+链表的特性,查找快,插入删除也快。
  3. 对于每个key,他对应的数组索引下标是 int i = hash(key.hashcode)&(len-1);
  4. 每个新加入的节点放在链表首,然后该新加入的节点指向原链表首

HashMap和TreeMap区别

友情链接: Java中HashMap和TreeMap的区别深入理解

HashMap冲突

友情链接: HashMap冲突的解决方法以及原理分析

友情链接: HashMap的工作原理

友情链接: HashMap和Hashtable的区别

友情链接: 2种办法让HashMap线程安全