2010-03-29 66 views
0

你会选择什么来实现deque:HashSet或LinkedList。你能否说两种利弊? 谢谢。选择什么来实现deque?

+1

这是一个典型的功课/面试问题。如果属实,将来请标记这些问题。 – BalusC 2010-03-29 13:19:36

+0

ArrayDeque与它完成的优点! – willcodejavaforfood 2010-03-29 13:20:39

+0

是的,这是作业的问题。不知道我可以将它标记为这样。 – 2010-03-29 13:29:46

回答

3

当然链表中。所有出队操作严格执行为O(1)并且不使用过多内存。

3

A HashSet不是Deque所以你将不得不使用LinkedList(它实现Deque)。其原因是HashSet不是有序的数据结构,因此不能用作队列。

对于线程安全阻塞实现Deque考虑LinkedBlockingDequeArrayDeque

1

HashSet的不是一种选择,因为一组不记录在其中加入元素的顺序。另外,一个集合不允许多次添加相同的元素。

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