2013-07-12 29 views
1

在一個Scala項目中,我需要一個簡單的,可變的隊列數據結構,我可以在一端追加項目並在另一端取出項目(即FIFO)。現在,我不確定我是否應該使用來自Java的普通舊LinkedList或者Scala的DoubleLinkedList。這兩者有什麼相對的優勢?我應該總是喜歡DoubleLinkedList,還是有什麼好的理由使用LinkedList?另外,還有其他的選擇值得考慮嗎?Java的LinkedList與Scala的DoubleLinkedList

+0

Java鏈表沒有scala的榮耀集合api,在其他方面,我認爲它們會是一樣的。 –

回答

5

至於其他選項,請考慮使用scala.collection.mutable.Queue。 甚至有一個不可變的版本:scala.collection.immutable.Queue

從DOC引述:

隊列對象實現的數據結構,其允許插入和檢索在一個先入先出(FIFO)方式的元件。

所以如果你的目的是爲了有一個FIFO /隊列,類名Queue可能是更容易閱讀/維護比任何LinkedList

1

如果你想用Java代碼接口,它可能是一個優勢,使用LinkedList

否則,如果你只有scala代碼,那麼去DoubleLinkedList,因爲它在scala中有很多優點。