我应该使用什么数据结构来实现简单的同步LIFO?

时间:2011-10-03 10:34:51

标签: java data-structures

我应该使用什么数据结构来实现简单的同步LIFO?我正在使用Android Java 1.6。 Java集合的问题在于有数百万个略有不同的类和接口。

2 个答案:

答案 0 :(得分:4)

标准Stack怎么样?它是同步的。

<强>更新

根据javadoc,您应该使用Deque而不是Stack的实现。例如。 LinkedBlockingDeque

答案 1 :(得分:3)

  

队列

     

java.util.concurrent ConcurrentLinkedQueue类提供了一个高效的可伸缩线程安全非阻塞FIFO队列。 java.util.concurrent中的五个实现支持扩展的BlockingQueue接口,该接口定义了put和take的阻塞版本:LinkedBlockingQueue,ArrayBlockingQueue,SynchronousQueue,PriorityBlockingQueue和DelayQueue。不同的类涵盖了生产者 - 消费者,消息传递,并行任务和相关并发设计的最常见使用上下文。 BlockingDeque接口扩展了BlockingQueue,以支持FIFO和LIFO(基于堆栈)操作。 LinkedBlockingDeque类提供了一个实现。

引自API Docs for Package java.util.concurrent