问题标签 [copyonwritearraylist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 为什么 CopyOnWriteArrayList 中没有这样的 removeRange() 方法?
为什么在ArrayList
有这样的方法而在并发兄弟上却没有?
受保护的无效删除范围(int fromIndex,int toIndex)
只是好奇它不是根本我可以解决它。
java - 并发 hashmap 和 copyonwritearraylist
我正在尝试使用 ConcurrentHashMap 填充保存键/值的缓存。
我假设使用 aCopyOnWriteArrayList
来处理并发性,并且我将它作为我的键的值,但是我在下面的代码中遗漏了一些东西,并且当多个线程正在执行时它会覆盖它的值。
如何保护CopyOnWriteArrayList
从多个线程创建的代码。
这是根据以下建议的代码修订版。
在迭代订阅者地图时,我没有看到值对象。大小为 0 。
java - 为什么 CopyOnWriteArrayList 在写入时复制?
从 CopyOnWriteArrayList.java 中,add 方法如下:
不难理解 add 操作应该加锁,让我困惑的是它将旧数据复制到新数组并放弃前一个。同时get方法如下:
没有锁定get方法。我找到了一些解释,有人说复制到一个新数组可以避免 add 和 get 方法在同一个数组上操作。我的问题是为什么两个线程不能同时读写?
java - 创建一个arrayList 深拷贝
无论出于何种原因,当我尝试为植物数组列表创建深层副本时,我得到一个空指针异常,我不知道为什么。
java - Java CopyOnWriteArrayList 实现是否有改进的替代方案,我如何请求更改 Java 规范?
CopyOnWriteArrayList 几乎具有我想要的行为,如果删除了不必要的副本,那将正是我想要的。特别是,对于在 ArrayList 末尾添加的内容,它的行为可能与 ArrayList 完全相同 - 即,没有理由每次都创建一个新副本,这是非常浪费的。它可以虚拟地限制 ArrayList 的结尾以捕获读者的快照,并在添加新项目后更新结尾。
这种增强似乎值得拥有,因为对于许多应用程序来说,最常见的添加类型是在 ArrayList 的末尾——这甚至是选择使用 ArrayList 开始的原因。
也不会有额外的开销,因为它只能在追加时不能复制,尽管它仍然必须检查是否需要重新调整大小,但无论如何 ArrayList 都必须这样做。
是否有任何替代实现或数据结构具有这种行为,而无需在末尾添加不必要的副本(即线程安全且经过优化以允许频繁读取,而写入只是在列表末尾添加)?
如何提交更改请求以请求更改 Java 规范以消除添加到 CopyOnWriteArrayList 末尾的副本(除非需要重新调整大小)?
我真的很想看到核心 Java 库改变了这一点,而不是维护和使用我自己的自定义代码。
java - ArrayLists在Android中指向相同的对象或数据
我有两个具有相同类型的arraylist 对象。想要通过进行必要的更改将一个数据复制到另一个。但是这种变化会影响我的两个对象。以下是代码。
java - Java - 并发清除列表
我正在尝试找到实现以下 API 的好方法:
该类将存储对象,并在调用 processAndClear 时遍历当前存储的对象,以某种方式处理它们,然后清除存储。这个类应该是线程安全的。
显而易见的方法是使用锁定,但我想更加“并发”。这是我将使用的方法:
这将允许尝试添加对象的线程几乎立即继续进行,而无需任何锁定/等待 xlearing 完成。这是或多或少正确的方法吗?
java - 将文本文件数据添加到数组 java
我想将 Text.txt 文件中的数据添加到 java 中的 ArrayList。
我创建了一个只有 getter 和 setter 的 POJO Employee 类:
这是我的主要课程:
文本文件数据:
我想要的是:
在这方面的任何帮助都将是可观的
java - Java中的递归函数 - 线程安全集合
假设我有一个 xml 文档,我可以在其中找到指向相同类型的其他文档的链接,这些文档也可以具有指向另一个文档的链接。在起点,我有要阅读和分析的文件列表。我编写了以下算法来阅读和分析这些文档:
函数 readDocument 如下所示:
它可以工作,但是在执行程序后,我可以找到重复的文件(具有相同内容的文件)。我不应该拥有它们 - 我通过函数 visitURL 中的 if 条件来阻止它。我的问题是:什么在这里不起作用?我想用数组visitedDocs 操作有问题。如何使用已访问的文件进行每个递归调用实际版本的数组?
尽我所能,我有一个递归函数,它在一些集合 X 上运行:
并且X
必须始终是实际的。
android - 如何将 CopyOnWriteArrayList 传递给 Bundle 对象?
我有一个MyObject
实现Parcelable
接口的数据结构,我想将一个CopyOnWriteArrayList<MyObject>
对象传递给一个 Bundle 对象以创建一个新的 Fragment。所以我尝试了
但是由于 CopyOnWriteArrayList 不是 ArrayList 的子类,所以它与方法签名不匹配。
有没有办法将 CopyOnWriteArrayList 传递给 Bundle 对象?