我遇到了一个问题,我需要在 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)
我的解决方案不喜欢
parts
变量;我宁愿不使用这样的中间步骤。这是添加值的最简单方法还是有一些更好的方法来添加元素?
最佳答案
这正是 patch
所做的:
val original = Array(0, 1, 3, 4)
original.patch(2, Array(2), 0) // Array[Int] = Array(0, 1, 2, 3, 4)
关于arrays - 在 Scala 中为数组添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36695450/