您更愿意选择实现deque:HashSet还是LinkedList。你能否说出两者的缺点和优点? 谢谢。
答案 0 :(得分:3)
HashSet
不是Deque
,因此您必须使用LinkedList
(实现Deque
)。这背后的原因是HashSet
不是有序的数据结构,因此不能用作队列。
对于Deque
的线程安全阻止实现,请考虑LinkedBlockingDeque
或ArrayDeque
。
答案 1 :(得分:3)
当然是LinkedList。所有Dequeue操作都严格实现为O(1),并且不使用过多的内存。
答案 2 :(得分:1)
HashSet不是替代方案,因为集合不记录添加元素的顺序。另外,一个集合不允许多次添加相同的元素。
LinkedList是一个更好的选择,或者为什么不使用现有的Deque实现?