持有重复键的HashMap

持有重复键的HashMap,第1张

持有重复键的HashMap

HashMap
如链接文档中明确指出的那样,它不是线程安全的。您正在提供一个很好的例子说明为什么会这样。是的,您放入重复的密钥是因为
put
不检查是否有另一个线程正在放入相同的密钥。这就是说不保证线程安全。

检索行为是不确定的,因此它可以返回此时所需的任何值。它可能非常依赖于实现,平台,甚至与时序有关。

有几种解决方法。在文档中建议的一个是

Map m = Collections.synchronizedMap(new HashMap(...));

另一个选择是使用

ConcurrentHashMap
,它是专门为此目的而设计的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5141777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存