我遇到了一个问题,我需要在中间添加一个新值Array(即复制原始数组并将其替换为新数组).我成功地解决了我的问题,但我想知道是否还有其他方法可以做到这一点,而无需将数组更改为缓冲一段时间.
val original = Array(0, 1, 3, 4)
val parts = original.splitAt(2)
val modified = parts._1 ++ (2 +: parts._2)
res0: Array[Int] = Array(0, 1, 2, 3, 4)
Run Code Online (Sandbox Code Playgroud)
我不喜欢我的解决方案是parts变量; 我不想使用那样的中间步骤.这是添加值的最简单方法还是有更好的方法来添加元素?
这恰恰是patch这样的:
val original = Array(0, 1, 3, 4)
original.patch(2, Array(2), 0) // Array[Int] = Array(0, 1, 2, 3, 4)
Run Code Online (Sandbox Code Playgroud)