在Scala中,2D数组的深层副本可以通过以下方法实现:
import scala.util.Random
val rows = 3
val cols = 3
val matrix = Array.ofDim[Int](rows, cols)
// 初始化矩阵
for (i <- 0 until rows; j <- 0 until cols) {
matrix(i)(j) = Random.nextInt(10)
}
// 创建深层副本
val matrixCopy = matrix.map(_.clone())
// 打印原始矩阵和副本
println("Original matrix:")
for (i <- 0 until rows) {
for (j <- 0 until cols) {
print(matrix(i)(j) + " ")
}
println()
}
println("Deep copy of the matrix:")
for (i <- 0 until rows) {
for (j <- 0 until cols) {
print(matrixCopy(i)(j) + " ")
}
println()
}
在这个示例中,我们首先创建了一个3x3的整数二维数组。然后,我们使用map
方法和clone()
函数创建了一个深层副本。最后,我们分别打印了原始矩阵和副本。
请注意,这个示例仅适用于整数二维数组。如果您的数组包含其他类型(例如,自定义对象),则需要使用不同的克隆方法。
领取专属 10元无门槛券
手把手带您无忧上云