如何检查元素是否已从地图中删除

弗兰基:

我如何检查元素是否已从MapJava中正确删除

鉴于:

ConcurrentHashMap<Integer,Object> myMap = new ConcurrentHashMap<>();
myMap.put(1, new Object());

myMap.remove(1);

以下代码是检查它的唯一方法吗?

myMap.contains(1);
Magnilex:

remove()返回移除的对象,或者null如果地图中不存在该对象

返回:
与键关联的先前值;如果没有键的映射关系,则返回 null。

Object removedObject = myMap.remove(1);
boolean wasRemoved = removedObject != null;

实际上,如果在contains()线程之间共享映射,则通过使用,可以在调用remove()之间的另一个线程删除该对象contains()您的问题ConcurrentHashMap暗示使用并发可能是这种情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章