如何替换不可变数组scala中的值

Min*_*Ant 0 arrays replace scala immutability

我有一个阵列

val doot = Array("a", "b", "c")
Run Code Online (Sandbox Code Playgroud)

我想用字母"z"替换第二个索引,但我不想修改doot.我想创建一个新数组,因为这似乎是scala中的成语.

到目前为止,我只能通过更新修改数组

doot.update(1, "z") // But now doot is modified directly, not ideal!
Run Code Online (Sandbox Code Playgroud)

scala是否提供了这样做的方法?

Eas*_*sun 6

scala> val doot = Array("a", "b", "c")
doot: Array[String] = Array(a, b, c)

scala> val eoot = doot.updated(1, "z")
eoot: Array[String] = Array(a, z, c)

scala> doot
res0: Array[String] = Array(a, b, c)

scala> eoot
res1: Array[String] = Array(a, z, c)
Run Code Online (Sandbox Code Playgroud)