Java的LinkedList与Scala的DoubleLinkedList

时间:2013-07-12 12:55:42

标签: scala linked-list queue fifo doubly-linked-list

在Scala项目中,我需要一个简单的,可变的队列数据结构,我可以在一端附加项目并在另一端取出项目(即FIFO)。现在,我不确定是否应该使用Java中的普通旧LinkedList或Scala的DoubleLinkedList。这两者的相对优势是什么?我应该总是更喜欢DoubleLinkedList,还是有充分理由使用LinkedList?此外,还有其他值得考虑的选择吗?

2 个答案:

答案 0 :(得分:5)

至于其他选项,请考虑使用scala.collection.mutable.Queue。 甚至还有一个不可变的版本:scala.collection.immutable.Queue

来自文档的引用:

  

队列对象实现允许以先进先出(FIFO)方式插入和检索元素的数据结构。

所以,如果您的目的是拥有一个FIFO /队列,那么类名Queue可能比任何LinkedList更容易阅读/维护

答案 1 :(得分:1)

如果您想与Java代码交互,使用LinkedList

可能是一个优势

否则,如果您只有scala代码,那么请转到DoubleLinkedList,因为它在scala中有很多优点。