¿Cómo puedo crear una matriz como lo hacemos en java?
int A[] = new int[N];
¿Cómo puedo hacer esto en Kotlin?
¿Cómo puedo crear una matriz como lo hacemos en java?
int A[] = new int[N];
¿Cómo puedo hacer esto en Kotlin?
Respuestas:
Según la referencia , las matrices se crean de la siguiente manera:
Para los tipos primitivos de Java, existen tipos distintos IntArray, DoubleArrayetc. , que almacenan valores sin caja .
Se crean con los constructores y funciones de fábrica correspondientes:
val arrayOfZeros = IntArray(size) //equivalent in Java: new int[size]
val numbersFromOne = IntArray(size) { it + 1 }
val myInts = intArrayOf(1, 1, 2, 3, 5, 8, 13, 21)
El primero es similar al de Java, simplemente crea una matriz primitiva rellena con el valor predeterminado, por ejemplo, cero para Int, falsepara Boolean.
Las matrices no primitivas están representadas por Array<T>clase, donde Tes el tipo de elementos.
Ttodavía puede ser uno de los tipos primitivos en Java ( Int, Boolean, ...), pero los valores en el interior serán en caja de forma equivalente a Java Integer, Doubley así sucesivamente.
Además, Tpuede ser anulable y no nulo como Stringy String?.
Estos se crean de manera similar:
val nulls = arrayOfNulls<String>(size) //equivalent in Java: new String[size]
val strings = Array(size) { "n = $it" }
val myStrings = arrayOf("foo", "bar", "baz")
val boxedInts = arrayOfNulls<Int>(size) //equivalent in Java: new Integer[size]
val boxedZeros = Array(size) { 0 }
Array<Int>(size)no se compila. Eso es porque no puede crear una matriz no anulable sin proporcionar los elementos.
En Kotlin, crear un IntArray de tamaño N es simple. Use IntArray(n)o el tipo apropiado, como se detalla a fondo en la respuesta de la tecla de acceso rápido.
Al utilizar su matriz de tamaño fijo, puede usar Kotlin Destructuring
// Create fixed sized array
val point = IntArray(2)
// Access values directly
val (x, y) = point
En este caso, xse tomará del índice 0, ydel índice 1, etc.
int, pero para Objects, hay stackoverflow.com/questions/32679060/…