scala - 无法附加到 Scala 的可变 LinkedList?

标签 scala scala-collections mutable

我在看 API :+ 方法返回一个新的 LinkedList。 append 方法只允许附加另一个链表。 += 方法需要一个 var 才能工作。如果 LinkedList 是可变的,为什么会有人需要这些?这是什么疯子?

如果我在 Java 中有这样的东西

final LinkedList myList = new LinkedList<String>();
mylist.add("balh");

我如何在 Scala 中实现同样的目标?

最佳答案

append只能带LinkedList那为什么不使用

mylist append LinkedList("something")

要么
mylist append LinkedList(otherContainer: _*)

有理由只允许其他 LinkedList s 在 append ,我认为,因为这保证了以下几点:
l1 = LinkedList(1, 2, 3)
l2 = LinkedList(4)
l3 = LinkedList(5)

l1 append l2
// l1 == LinkedList(1, 2, 3, 4)
// l2 == LinkedList(4)

l2 append l3
// l1 == LinkedList(1, 2, 3, 4, 5)
// l2 == LinkedList(4, 5)
// l3 == LinkedList(5)

关于scala - 无法附加到 Scala 的可变 LinkedList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8060963/

相关文章:

scala - 什么是 Collection View ?您何时想使用它们?

scala - 将不可变转换为可变集合

scala - 如何使案例类/对象在 Scala 中不可序列化?注释/特征/助手工作

scala - Scala中的泛型不变量协变对变量

Scala 工作表 : reverse typing

java - Scala:使用 ArrayList 时出现错误的类型不匹配错误

c++ - 允许 const 成员函数使用 mutable 编辑一些成员变量

f# - 如何返回多个值并将它们分配给可变变量?

scala - 我如何在 Play Framework dist 中正确配置调试级别和 ehcache?

scala - 使用 scala 时在 play 框架中保存外部文件的位置