在一个表达式中生成不可变集合

时间:2013-07-24 06:57:22

标签: scala

如何填充集合,然后在不使用可变集合或将其声明为var的情况下向其中添加一个元素?

换句话说,我如何在以下代码中使用不可变集合而不是mutable.Buffer?

 val values: mutable.Buffer[MyClass] = {
    (for (i <- 1 until 10
    ) yield MyClass(Some(i)).toBuffer
  }

  values += MyClass(None)

1 个答案:

答案 0 :(得分:7)

我切换到地图,但为了理解,这应该是相同的:

val values = (1 until gridSize.size).map(i => MyClass(Some(i))) ++ Seq(MyClass(None), ...)