按顺序收集和同步Java

时间:2013-02-04 23:01:50

标签: java collections synchronization

我只是想使用一个集合,它按照我过去添加它们的顺序给我项目,并且也是同步的。当然我想动态添加 - 删除项目。我对Java的许多集合感到困惑。如果有人知道答案,请告诉我。

2 个答案:

答案 0 :(得分:5)

好吧,Vector有你要求的两个属性......但说实话,我没有发现正在同步的集合实际上是有用的。我发现将单个操作同步化很少有用 - 而是要在一整套操作上进行同步,例如迭代整个集合。

但是,无论出于何种原因,你真的想要一个集合,其中每个操作都是单独同步的,Vector就可以了。

或者您可以使用ArrayList并使用Collections.synchronizedList创建同步包装。

答案 1 :(得分:0)

ConcurrentLinkedDeque怎么样? http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html

它完全同步并提供队列所需的FIFO顺序。