java - 从 ArrayList 更改为 Vector

标签 java vector arraylist

我正在开发一款安卓游戏,我刚刚注意到自 onTouchEvent在 UI 线程上运行,更新/渲染方法从单独的线程运行,它们都更新一个 ArrayList其中包含实体。所以很明显,如果他们碰巧同时修改列表,他们就会发生冲突。

我读到 Vector类的使用与 ArrayList 完全相同唯一的区别是 Vector是同步的,因此它们不会冲突。真的吗?如果是这样,它是否有任何性能问题或我应该关注的问题?我从来没有用过Vector上课前。

编辑: 我真正的意思是从

ArrayList<Obj> list = new ArrayList<Obj>();

Vector<Obj> list = new Vector<Obj>()

但正如答案所说,Vector不推荐使用。所选答案解决了我的问题。

最佳答案

对于那些必须与遗留代码作斗争的人,请执行以下操作:

new Vector<Obj>(anyThingWhichImplemntsCollection);

关于java - 从 ArrayList 更改为 Vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17478486/

相关文章:

java - 如何阻止swing应用程序的所有窗口并在它们之上显示JDialog?

java - 将字符串与数组列表进行比较,看看该字符串是否包含列表中的任何内容

java - invokeAll 与 CompletionService

java - 如何使用 Jersey ContainerRequestFilter 和 ContainerResponseFilter 匹配 http 请求和响应

c++ - 模板函数中任意迭代器的值类型

java - 如何在java中创建采用两种不同数据类型的数组列表或 vector

python - 使用叠加模拟球体周围的扬声器-需要提高速度

powershell - 使用 Powershell 更改大型 CSV 文件中的分隔符

java - 无法使用 Web 服务的二维对象返回值

java - 使用基于注解的 MOXY 的 JAXB 实现 + 动态映射