HashMap和HashTable的区别

来源:互联网 发布:java 替换 编辑:程序博客网 时间:2024/06/16 08:28

HashMap是HashTable的轻量级实现(非线程安全的实现),他们都完成了Map接口。

区别

1.HashMap允许空(null)键值(key),由于非线程安全,所以在性能上可能会高于HashTable

2.HashMap把HashTable的Contains方法去掉了,改为了ContainsKey和ContainsValue.因为contains方法容易引起误解。

3.HashTable继承自Dictionary类,而HashMap是来自于Java1.2的一个Map interface实现。

4.HashTable的方法是synchronize的,HashMap不是,在多个线程访问HashTable时,不需自己为他的方法实现同步,而HashMap就必须为方法实现外同步。

5.HashMap和HashTable的算法都采用的是hash/rehash,性能上基本差别不大。

0 0