HashMap HashTable和ConcurrentHashMap的区别
展开全部
类 HASHSET
所已实现接口:Serializable, Cloneable, Iterable, Collection, Set
类实现 Set 接口由哈希表(实际 HashMap 实例)支持保证 set 迭代顺序;特别保证该顺序搜索恒久变类允许使用 null 元素
类基本操作提供稳定性能些基本操作包括 add、remove、contains size假定哈希函数些元素确布桶 set 进行迭代所需间与 HashSet 实例(元素数量)底层 HashMap 实例(桶数量)容量比例迭代性能重要则要初始容量设置太高(或加载设置太低)
注意实现同步线程同访问哈希 set其至少线程修改该 set必须 保持外部同步通通自封装该 set 象执行同步操作完存象则应该使用 Collections.synchronizedSet 包装 set创建完操作防止该 set 进行意外同步访问:
Set s = Collections.synchronizedSet(new HashSet(...));
类 HASHMAP
所已实现接口:Serializable, Cloneable, Map
基于哈希表 Map 接口实现实现提供所选映射操作并允许使用 null 值 null 键(除非同步允许使用 null 外HashMap 类与 Hashtable 致相同)类保证映射顺序特别保证该顺序恒久变
类 CONCURRENTHASHMAP
所已实现接口:
Serializable, ConcurrentMap, Map
支持获取完全并发更新所期望调整并发哈希表类遵守与 Hashtable 相同功能规范并且包括应于 Hashtable 每版本尽管所操作都线程安全获取操作 必锁定并且 支持某种防止所访问式锁定整表类通程序完全与 Hashtable 进行互操作取决于其线程安全与其同步细节关
所已实现接口:Serializable, Cloneable, Iterable, Collection, Set
类实现 Set 接口由哈希表(实际 HashMap 实例)支持保证 set 迭代顺序;特别保证该顺序搜索恒久变类允许使用 null 元素
类基本操作提供稳定性能些基本操作包括 add、remove、contains size假定哈希函数些元素确布桶 set 进行迭代所需间与 HashSet 实例(元素数量)底层 HashMap 实例(桶数量)容量比例迭代性能重要则要初始容量设置太高(或加载设置太低)
注意实现同步线程同访问哈希 set其至少线程修改该 set必须 保持外部同步通通自封装该 set 象执行同步操作完存象则应该使用 Collections.synchronizedSet 包装 set创建完操作防止该 set 进行意外同步访问:
Set s = Collections.synchronizedSet(new HashSet(...));
类 HASHMAP
所已实现接口:Serializable, Cloneable, Map
基于哈希表 Map 接口实现实现提供所选映射操作并允许使用 null 值 null 键(除非同步允许使用 null 外HashMap 类与 Hashtable 致相同)类保证映射顺序特别保证该顺序恒久变
类 CONCURRENTHASHMAP
所已实现接口:
Serializable, ConcurrentMap, Map
支持获取完全并发更新所期望调整并发哈希表类遵守与 Hashtable 相同功能规范并且包括应于 Hashtable 每版本尽管所操作都线程安全获取操作 必锁定并且 支持某种防止所访问式锁定整表类通程序完全与 Hashtable 进行互操作取决于其线程安全与其同步细节关
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |