Array Int bidimensional en Kotlin

¿Es la forma más fácil de declarar la matriz Int bidimensional con el tamaño especificado en Kotlin?

 val board = Array(n, { IntArray(n) }) 

Aquí hay un código fuente para nuevas funciones de nivel superior para crear matrices 2D. Cuando a Kotlin le falta algo, extiéndelo. Luego agregue los problemas de YouTrack para las cosas que desea sugerir y rastree el estado. Aunque en este caso no son mucho más cortos que los anteriores, al less proporciona un nombre más obvio para lo que está sucediendo.

 public inline fun <reified INNER> array2d(sizeOuter: Int, sizeInner: Int, noinline innerInit: (Int)->INNER): Array<Array<INNER>> = Array(sizeOuter) { Array<INNER>(sizeInner, innerInit) } public fun array2dOfInt(sizeOuter: Int, sizeInner: Int): Array<IntArray> = Array(sizeOuter) { IntArray(sizeInner) } public fun array2dOfLong(sizeOuter: Int, sizeInner: Int): Array<LongArray> = Array(sizeOuter) { LongArray(sizeInner) } public fun array2dOfByte(sizeOuter: Int, sizeInner: Int): Array<ByteArray> = Array(sizeOuter) { ByteArray(sizeInner) } public fun array2dOfChar(sizeOuter: Int, sizeInner: Int): Array<CharArray> = Array(sizeOuter) { CharArray(sizeInner) } public fun array2dOfBoolean(sizeOuter: Int, sizeInner: Int): Array<BooleanArray> = Array(sizeOuter) { BooleanArray(sizeInner) } 

Y el uso:

 public fun foo() { val someArray = array2d<String?>(100, 10) { null } val intArray = array2dOfInt(100, 200) } 

Actualmente esta es la forma más fácil, ampliaremos la biblioteca estándar con las funciones apropiadas más adelante

Sí, su código dado es la forma más fácil de declarar una matriz bidimensional.

A continuación, le doy un ejemplo de initialization e printing de matriz 2D.

 fun main(args : Array<String>) { var num = 100 // Array Initialization var twoDArray = Array(4, {IntArray(3)}) for(i in 0..twoDArray.size - 1) { var rowArray = IntArray(3) for(j in 0..rowArray.size - 1) { rowArray[j] = num++ } twoDArray[i] = rowArray } // Array Value Printing for(row in twoDArray) { for(j in row) { print(j) print(" ") } println("") } } 
  • ¿Cómo encontrar qué elemento no comparó las matrices en Kotlin?
  • ¿Manera de Kotlin de filtrar valores máximos de 2 arrays?
  • Acoplar arreglo en Kotlin
  • Cómo convertir String array a Int array en Kotlin?
  • Conceptos básicos de Kotlin: ¿cómo agregar o establecer un elemento de un map?
  • ¿Cómo verificar si una matriz de cadenas está orderada en order alfabético o no utiliza Kotlin?
  • Método igual para class de datos en kotlin
  • Kotlin y ejemplificación de matriz detallada
  • Arreglo 2D en Kotlin
  • Kotlin sorting array de una class basada en una var dentro de la class
  • Kotlin: cómo crear una matriz 2D del tipo String