回答
您可以将这些选择:
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
这是一个重复的,但不幸的是,我找不到较旧的。 –