arrays - 在Kotlin中比较阵列

标签 arrays kotlin

我目前正在学习 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/

相关文章:

php - 是什么让这两个阵列相加不同?

arrays - 如何使用输入数组重复字符串

list - 当我不期望MutableList值改变时

android - Kotlin:如何使用 subSequence 过滤字符串列表而不过滤掉长度小于 subSequence 要求的字符串?

c++ - 如何从函数正确返回数组?

arrays - 在 Julia 中按列堆叠数组

javascript - 在 for 循环中创建对象语法错误

string - 筛选包含时间戳记的字符串-Kotlin

javascript - 如何在 Android 中使用 Duktape 访问 Javascript 模块

android - 如何更改撰写中的复选框图标