• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

291
Vistas
Matriz multidimensional de objetos en Kotlin

Soy nuevo en Kotlin y quiero crear una matriz multidimensional de una clase personalizada, con null permitido. Algo como eso

 private var array_map = arrayOf<Array<Obstacle?>>() ... array_map[1][2] = Obstacle()

¿Cómo puedo hacerlo? ¡Gracias!

over 3 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

En caso de que necesite el índice de cada elemento en el constructor de los elementos de la matriz:

Declaración:

 var matrix: Array<Array<Obstacle?>>

Instanciación e inicialización:

 matrix = Array(numRows) { row -> Array(numCols) { col -> Obstacle(row, col) } }
over 3 years ago · Santiago Trujillo Denunciar

0

Puede usar private var arrayMap: Array<Array<Obstacle?>> = arrayOf() . Simplemente envuélvalo con tanto Array<> como necesite.

over 3 years ago · Santiago Trujillo Denunciar

0

No estoy seguro de si esto es lo que quiere, pero imagine que Obstacle es una clase personalizada con un número de num como el siguiente

 data class Obstacle(var num: Int){}

Una matriz 2D del objeto Obstacle sería la siguiente:

 val array: Array<Obstacle?> = arrayOf(Obstacle(123), Obstacle(234)) val arrayOfArray: Array<Array<Obstacle?>> = arrayOf(array) println(arrayOfArray[0][0]) // would print Obstacle(num=123) println(arrayOfArray[0][1]) // would print Obstacle(num=234)

Por lo tanto, debe declarar su matriz 2D como se muestra a continuación

 val arrayOfArray: Array<Array<Obstacle?>> = arrayOf()
over 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda