在Scala项目中,我需要一个简单的,可变的队列数据结构,我可以在一端附加项目并在另一端取出项目(即FIFO)。现在,我不确定是否应该使用Java中的普通旧LinkedList
或Scala的DoubleLinkedList
。这两者的相对优势是什么?我应该总是更喜欢DoubleLinkedList
,还是有充分理由使用LinkedList
?此外,还有其他值得考虑的选择吗?
答案 0 :(得分:5)
至于其他选项,请考虑使用scala.collection.mutable.Queue。 甚至还有一个不可变的版本:scala.collection.immutable.Queue。
来自文档的引用:
队列对象实现允许以先进先出(FIFO)方式插入和检索元素的数据结构。
所以,如果您的目的是拥有一个FIFO /队列,那么类名Queue
可能比任何LinkedList
更容易阅读/维护
答案 1 :(得分:1)
如果您想与Java代码交互,使用LinkedList
。
否则,如果您只有scala代码,那么请转到DoubleLinkedList
,因为它在scala中有很多优点。