¿Cómo copyr una matriz bidimensional en Kotlin?
Este método funciona bien. Sin embargo, creo que no es funcional.
fun getCopy(array: Array<BooleanArray>): Array<BooleanArray> { val copy = Array(array.size) { BooleanArray(array[0].size) { false } } for (i in array.indices) { for (j in array[i].indices) { copy[i][j] = array[i][j] } } return copy }
¿Hay una forma más funcional?
- ¿Cómo convertir una list borrada por types a una matriz en Kotlin?
- ¿Cómo puedo convertir CharArray / Array <Char> en una cadena?
- ¿Cómo encontrar qué elemento no comparó las matrices en Kotlin?
- ¿Hay alguna manera de crear una matriz no nula a partir de un range?
- Kotlin: cómo crear una matriz 2D del tipo String
- Inicializando matrices en kotlin
- Toma la input en la matriz con el bucle
- Kotlin filter lambda array usando el índice de iteración
- ¿Cómo verificar si una matriz de cadenas está orderada en order alfabético o no utiliza Kotlin?
- cómo a la matriz de initialization en Kotlin?
- Inicialización de Kotlin 2d Array
- ¿Es posible pasar la reference al elemento i-ésimo de una matriz primitiva?
- Arreglo 2D en Kotlin
Puede hacer uso de un clone
así:
fun Array<BooleanArray>.copy() = map { it.clone() }.toTypedArray()
o si desea save algunas asignaciones:
fun Array<BooleanArray>.copy() = arrayOfNulls<ByteArray>(size).let { copy -> forEachIndexed { i, bytes -> copy[i] = bytes.clone() } copy } as Array<BooleanArray>
o incluso más conciso como lo sugiere @hotkey :
fun Array<BooleanArray>.copy() = Array(size) { get(it).clone() }
- ¿Es posible simular accesos de Mockito en Kotlin?
- Kotlin: cómo get el valor del atributo de anotación