有人了解Scala的collection.mutable.Seq . 它描述了所有可变序列的接口,但是我没有看到在不创建新序列的情况下附加或前置元素的方法 . 我错过了一些明显的东西吗?
分别有 :+
和 +:
用于追加和前置,但是它们创建了新的集合 - 为了与不可变序列的行为一致,我假设 . 这很好,但为什么没有类似 +=
和 +=:
的方法,如 ArrayBuffer
和 ListBuffer
define,用于就地追加和前置?这是否意味着我不能引用一个类似 collection.mutable.Seq
的可变seq,如果我想进行就地追加?
再一次,我一定错过了一些明显的东西,却找不到什么......
1 回答
序列的可变性仅保证您能够将项目替换为不同的项目(通过
update
方法),就像您可以使用例如原始数组 . 它不能保证Growable的特性是Growable或更小(Shrinkable) .Buffer是包含
Growable
和Shrinkable
的抽象特征,而不是Seq .