以Kotlin风格获得更小和更大的阵列

以Kotlin风格获得更小和更大的阵列,kotlin,Kotlin,有两个字节数组,我想逐字节比较它们,找出较小的数组和较大的数组 科特林代码: val array1 = byteArrayOf(1,2,4, ...) val array2 = byteArrayOf(1,2,3, ...) val (smaller, bigger) = array1.zip(array2) .dropWhile { it.first == it.second } .firstOrNull()?.let { when (it.first <

有两个字节数组,我想逐字节比较它们,找出较小的数组和较大的数组

科特林代码:

val array1 = byteArrayOf(1,2,4, ...)
val array2 = byteArrayOf(1,2,3, ...)

val (smaller, bigger) = array1.zip(array2)
    .dropWhile { it.first == it.second }
    .firstOrNull()?.let {
        when (it.first < it.second) {
            true -> array1 to array2
            else -> array2 to array1
        }
    } ?: array1 to array2

我想知道是否还有其他更简单的方法来实现

这稍微简单一点:

var (smaller, bigger) = array1.zip(array2)
    .find { it.first != it.second }
    .let {
        when (it == null || it.first < it.second) {
            true -> array1 to array2
            false -> array2 to array1
        }
    }