您的位置:首页 > 编程语言 > Java开发

HashMap 与 HashTable的区别

2014-03-07 13:50 375 查看
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效率要高
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 集合 线程 多线程