java hashMap并发修改异常

标签 java concurrency

假设您有 HashMap m 并且已经有一个键值对 <"key1", object>里面。

你能做到以下几点吗?

m.put("newkey", m.remove("key1"))

你会得到ConcurrentModificationException吗? ?

最佳答案

只要它不在迭代 hashMap 条目的循环体中,您就可以这样做。有效的方式是,删除操作将在放置操作之前执行并完成,因此它在语义上相当于用 2 行执行此操作。

关于java hashMap并发修改异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297390/

相关文章:

java - JBoss5 中的 XPath 类解析

java - 有没有机器独立的编译器?

java - 通过 .handle() 配置服务激活器的输出 channel

python - 针对 SQL Server 中的表同时运行的脚本

java - 当目标已从场景图中删除时,javafx 如何处理事件

java - Java中并发写入时如何通过异常发出关于 'retry exceeded'的信号?

java - 如何使用 Spring Data Cassandra 从 cassandra 数据库读取超过百万条记录并使用 Spring Batch 将其写入文件?

java - jackson :如何仅序列化带注释的属性

multithreading - Kotlin 协程中的可见性

multithreading - 如何避免消息队列泛滥?