Java:CopyOnWriteArrayList 与 synchronizedList

标签 java collections

CopyOnWritearraylistCollections.synchronizedList(..) 有什么区别?什么时候应该优先选择一个。

最佳答案

CopyOnWriteArrayList 当读取次数远远超过写入次数时,应使用列表。这是因为您正在用不必要的同步换取每次写入时昂贵的数组复制。

例如,当您在多线程环境中有一个事件监听器的 List 时,您会想要使用 CopyOnWriteArrayList,因为

  • 事件被触发,因此列表被频繁迭代
  • 很少注册事件监听器

关于Java:CopyOnWriteArrayList 与 synchronizedList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842584/

相关文章:

scala - 是否有更紧凑的方法将 Map[Any,Any] 转换为 Map[String,String]?

java - 处理 bean 类中的自定义限制/异常?

c# - 为什么LINQ操作会丢失集合的静态类型?

Java JPA Hibernate保存不插入引用的实体

java - SparkStreaming - ExitCodeException exitCode=13

c# - 用于调试集合的 GridView ?

Scala - 访问 map 或平面 map 中的集合成员

node.js - 在 nodejs 脚本中列出 mongo 数据库中的所有集合

java - 通话时自动添加号码

java - 将 System.out 重定向到 JavaFX 中的 TextArea