选择什么来实施deque?

时间:2010-03-29 13:17:27

标签: java

您更愿意选择实现deque:HashSet还是LinkedList。你能否说出两者的缺点和优点? 谢谢。

3 个答案:

答案 0 :(得分:3)

HashSet不是Deque,因此您必须使用LinkedList(实现Deque)。这背后的原因是HashSet不是有序的数据结构,因此不能用作队列。

对于Deque的线程安全阻止实现,请考虑LinkedBlockingDequeArrayDeque

答案 1 :(得分:3)

当然是LinkedList。所有Dequeue操作都严格实现为O(1),并且不使用过多的内存。

答案 2 :(得分:1)

HashSet不是替代方案,因为集合不记录添加元素的顺序。另外,一个集合不允许多次添加相同的元素。

LinkedList是一个更好的选择,或者为什么不使用现有的Deque实现?