HashMap 与 HashTable的区别

来源:互联网 发布:数控火焰切割手工编程 编辑:程序博客网 时间:2024/06/17 00:26

1.线程安全

HashMap是线程不安全的,HashTable是线程安全的

在多线程下使用HashTable不用考虑线程同步,而HashMap要进行线程同步处理,使用synchronized关键字

当然Collections类(不能实例化,因为Collections类的构造方法是private的,对外部是不可见的)的静态方法

Collections.synchronizedMap(new HashMap());即可

不能使用Collections.synchronizedCollection(Collection c);因为Map不是interface Collection的子接口,

2.key值

HashMap允许key value 都为null,HashTable 不允许

3.两者采用的hash算法差不多


当在单线程下使用HashMap,比使用HashTable效率要高

0 0
原创粉丝点击