一、HashMap简介
HashMap是基于哈希表实现的,每一个元素是一个key-value对,对内部通过单链表解决冲突问题,容量不足时,同样会自动增长。
HashMap是非现成安全的,只是用于单线程环境下,多线程环境下可以采用concurrent并发包下的concurrentHashMap.
HashMap是哦线了Serializable借口,因此它支持序列化,实现了Cloneable接口,能被克隆。
HashMap中key和value都允许为null。key为null的键值对永远都放在以table[0]为节点的链表中。
二、HashTable简介
HashTable同样基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足时,同样会自动增长。
HashTable是现成安全的,能用于多线程环境中。
HashTable同样实现了Serializable接口,它支持序列化,实现了Cloneable接口能被克隆
三、两者区别
1、Hashtable集成自Dictionary类,而HashMap集成自AbstractMap类。但是二者都实现了Map接口
2、现成安全性不同