weakhashmap和hashmap的区别

 我来答
ua...c@163.com
2017-11-08 · TA获得超过324个赞
知道小有建树答主
回答量:410
采纳率:95%
帮助的人:76.6万
展开全部

一.HashMap

  1. HashMap是基于Key-Value的散列表(JDK7:数组+链表,JDK8:数组+链表+红黑树),采用拉链法实现的。一般用于单线程当中,非线程安全,HashMap的键是"强键"。

  2. 2.继承于抽象类AbstractMap,并且实现Map接口。遍历时,取得的数据完全是随机的。

  3. 3.默认容量大小是16,加载因子是0.75。

  4. 4.最多只允许一条key为Null,允许多条value为Null。

  5. 5.HashMap实现了Cloneable和Serializable接口,而WeakHashMap没有。

  6. 1).HashMap实现Cloneable,说明它能通过clone()克隆自己。

  7. 2).HashMap实现Serializable,说明它支持序列化,能通过序列化去传输。

  8. 6.添加、删除操作时间复杂度都是O(1)。

二.weakHashMap

  1. weakHashMap是基于Key-Value的散列表(数组+链表),采用拉链法实现的。一般用于单线程当中,非线程安全,weakHashMap中的键是"弱键"。

  2. 备注:当"弱键"被GC会收时,它对应的键值也会从weakHashMap中删除。

  3. 2.继承于抽象类AbstractMap,并且实现Map接口。

  4. 3.默认容量大小是16,加载因子是0.75。

  5. 4.最多只允许一条key为Null,允许多条value为Null。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式