回答
您可以將這些選擇:
scala.collection.mutable.DoubleLinkedList
scala.collection.mutable.LinkedList
scala.collection.mutable.ListBuffer
scala.collection.mutable.MutableList
所以,是的,Scala有可變的名單:-)
欲瞭解更多關於哪一個使用請參閱http://stackoverflow.com/questions/11049213/which-scala-mutable-list-to-use – placeybordeaux
我希望這篇文章對您有些用處。頁面底部的圖對於提供可變類和不可變類非常有用。
http://www.scala-lang.org/docu/files/collections-api/collections_1.html
Jean-Philippe Pellet接受的答案更直接,並且給你一些你可以扔進你的代碼的類,以便解決你的問題。但是,格雷厄姆實際上回答了你的問題,「爲什麼這樣?」。我希望你能閱讀他提供的鏈接,因爲它可以幫助你更好地理解Scala中可變和不可變集合背後的想法。 –
有一個可變的List
,但它被稱爲Buffer
。 Graham鏈接的文章更深入,但我認爲這個問題也應該有一個特定的答案。
Map
是trait
- 類似於Java的interface
- ,而List
是class
,Seq
的具體實現。有可變和不可變的Seq
,就像Map
一樣。
這可能是令人困惑的Java程序員因爲,在Java,List
是interface
,其(主)的實現是ArrayList
和LinkedList
。唉,Java命名是殘酷的。首先,ArrayList
不是任何想象力的List
。此外,該界面的方法與任何傳統列表都沒有真正的關聯。
所以,如果你想要mutable/immutable equivalence,請看具體的子類實現Seq
。
- 1. 斯卡拉列表validSelectValues沒有更新
- 2. 變換隻有斯卡拉列表
- 3. 斯卡拉隱含帶有可變參數列表
- 4. 斯卡拉 - 可變映射
- 5. 沒有ClassTag可用(斯卡拉)
- 6. 斯卡拉混淆的可變性和陣列/列表
- 7. 沒有在斯卡拉
- 8. 然後列表斯卡拉
- 9. 斯卡拉從列表
- 10. 斯卡拉鍊接列表
- 11. 斯卡拉flatten列表
- 12. 反向列表斯卡拉
- 13. 斯卡拉 - 查找列表
- 14. 斯卡拉:列表性能
- 15. 斯卡拉:篩選列表
- 16. 斯卡拉列表java.lang.String中
- 17. 斯卡拉匹配列表
- 18. 斯卡拉列表匹配
- 19. 斯卡拉列表綜合
- 20. 斯卡拉列表索引
- 21. 斯卡拉列表錯誤
- 22. 斯卡拉列表索引
- 23. 通過一個列表作爲可變參數斯卡拉
- 24. 平展地圖可變參數字符串列表斯卡拉
- 25. 斯卡拉與週期不可變鏈接列表
- 26. 有斯卡拉
- 27. 斯卡拉列表[字符]是空的,但沒有返回true
- 28. 斯卡拉變換地圖的列表爲地圖列表
- 29. 斯卡拉系列
- 30. 斯卡拉可變參數計數
沒有[MutableList](http://www.scala-lang.org/api/current/scala/collection/mutable/MutableList.html)? – Nishant
'List'在計算機科學中具有非常具體的含義,Scala遵循這個定義(而不是繼續Java的這個術語的濫用:-D)。 – soc
這是一個重複的,但不幸的是,我找不到較舊的。 –