我目前正在学习 Kotlin 。有没有一种方法可以“比较”两个数组?例如
我有一个数组(1,2,3)和一个数组(1,2,1)。输出应该是这样的:
“2,2”表示“从索引2中提取两个”。
提前致谢。
最佳答案
您可以按以下方式使用 zip
:
val array1 = listOf(1, 2, 3)
val array2 = listOf(1, 2, 1)
val out1 = array1.zip(array2, Int::minus)
println(out1) // [0, 0, 2]
这为您提供了一个具有差异值的新数组。
从那里开始,到
mapIndexedNotNull
所要求的(不常见)格式仅一步之遥:val out2 = out1.mapIndexedNotNull{ i, v -> if (v != 0) listOf(i, v) else null }
println(out2) // [[2, 2]]
关于arrays - 在Kotlin中比较阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62056084/