HashMap和HashTable有什么区别?
- 线程安全性:HashTable 是线程安全的,而 HashMap 不是。
- Null 值:HashMap 允许键和值都为 null,而 HashTable 不允许键或值为 null。
- 继承关系:HashMap 继承自 AbstractMap 类,而 HashTable 继承自 Dictionary 类,已过时。
- 性能:在单线程环境下,由于 HashMap 不需要进行额外的同步措施,通常比 HashTable 性能高。而在多线程环境下,HashTable保证了线程安全性,但因为同步操作引入了开销,所以性能相对较差。