es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Agrega una lista de arreglos a un arreglo y repite esto en Kotlin.

No puedo encontrar una solución correcta. Intentando agregar una lista de matrices a otra matriz. Con mi experiencia en Python esto se hace fácilmente, pero no en Kotlin.

val extra = arrayOf(7, 7, 7)

fun containerArray() {

    val even = arrayOf(2, 4, 6)

    val odd = arrayOf(1, 3, 5)

    val arr1 = arrayOf(even, odd)

    val arr2 = arrayOf(*arr1, extra)

    print(arr2.contentDeepToString())
}

fun main() {

     for (i in 1..3) {

        containerArray() 

    }

}

Al ejecutar el código anterior, recibo…

[[2, 4, 6], [1, 3, 5], [7, 7, 7]][[2, 4, 6], [1, 3, 5], [7,7,7]][…

Lo que quiero lograr es esto ….

[ [2, 4, 6], [1, 3, 5], [7, 7, 7], [7, 7, 7], [7, 7, 7]]
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para obtener la salida deseada, puedes modificar las funciones containerArray() y main() de la siguiente manera:

    val extra = arrayOf(7, 7, 7)
    
    fun containerArray(): Array<><int>> {
    
        val even = arrayOf(2, 4, 6)
        val odd = arrayOf(1, 3, 5)
    
        val arr1 = arrayOf(even, odd)
        val arr2 = arr1 + arrayOf(extra)
    
        return arr2
    }
    
    fun main() {
        val arr = containerArray()
    
        println(arr.contentDeepToString())
    
        // Para obtener la salida deseada:
        val finalArr = arr + Array(2) { extra }
        println(finalArr.contentDeepToString())
    }
    

    En containerArray() hemos cambiado el tipo de retorno a Array<><int>> y hemos modificado la creación de arr2 utilizando el operador + para concatenar arreglos.

    En main(), primero llamamos a containerArray() para obtener el arreglo retornado por ella. Para obtener la salida deseada, concatenamos arr con el arreglo extra dos veces, creando un nuevo arreglo finalArr. Finalmente, imprimimos finalArr.

    La salida del código anterior será:

    [[2, 4, 6], [1, 3, 5], [7, 7, 7]]
    [[2, 4, 6], [1, 3, 5], [7, 7, 7], [7, 7, 7], [7, 7, 7]]
    

    Ten en cuenta que hemos utilizado Array(2) { extra } para crear un arreglo de tamaño 2, donde cada elemento es el arreglo extra.

Comments are closed.