HashMap与HashTable的区别: 1、HashMap是非线程安全的,HashTable是线程安全的。
2、HashMap的键和值都允许有null值存在,而HashTable则不行。
3、因为线程安全的问题,HashMap效率比HashTable的要高。
HashMap的实现机制:
- 维护一个每个元素是一个链表的数组,而且链表中的每个节点是一个Entry[]键值对的数据结构。
- 实现了数组+链表的特性,查找快,插入删除也快。
- 对于每个key,他对应的数组索引下标是 int i = hash(key.hashcode)&(len-1);
- 每个新加入的节点放在链表首,然后该新加入的节点指向原链表首
HashMap和TreeMap区别
友情链接: Java中HashMap和TreeMap的区别深入理解
HashMap冲突
友情链接: HashMap冲突的解决方法以及原理分析
友情链接: HashMap的工作原理
友情链接: HashMap和Hashtable的区别
友情链接: 2种办法让HashMap线程安全