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