Initialisierung von Arrays in Kotlin

Initialisieren von Arrays in Kotlin

 

1. Überblick

In diesem kurzen Tutorial sehen wir uns an, wie wir ein Array in Kotlin initialisieren können.

2. arrayOf Library-Methode

Kotlin verfügt über eine integriertearrayOf-Methode, mit der die angegebenen Aufzählungswerte in ein Array des angegebenen Typs konvertiert werden:

val strings = arrayOf("January", "February", "March")

3. Primitive Arrays

Wir können auch diearrayOf-Methode mit primitiven Werten verwenden.

Kotlin fügt die primitiven Werte jedoch automatisch den entsprechenden Objektumhüllungsklassen hinzu, was sich nachteilig auf die Leistung auswirkt. Um diesen Overhead zu vermeiden, bietet Kotlin eine breite Unterstützung für primitive Arrays. There are dedicated arrayOf methods for the following types: double, float, long, int, char, short, byte, boolean.

Wir können ein primitives int-Array einfach mit seiner dediziertenarrayOf -Smethod initialisieren:

val integers = intArrayOf(1, 2, 3, 4)

4. Späte Initialisierung mit Indizes

Manchmal möchten wir die Werte des Arrays bei der Instanziierung nicht definieren. In diesem Fall können wir ein Array vonnull -Werten erstellen.

Nach der Instantiierung können wir auf die Felder des Arrays zugreifen und sie festlegen. Es gibt verschiedene Möglichkeiten, dies zu tun. Eine übliche Methode ist jedoch, die Schleife von Kotlinsindices-Eigenschaft _. This property returns a range of valid indices for the array. We can use range to access and set the values of the array in a _forzu verwenden.

Initialisieren wir unser Array mit quadratischen Zahlen mit diesem Ansatz:

val array = arrayOfNulls(5)

for (i in array.indices) {
    array[i] = i * i
}

5. Werte mit einem Initializer generieren

Primitive arrays and object arrays both have constructors that accept an initializer function as a second parameter. Diese Initialisierungsfunktion nimmt den Index als Eingabeparameter, übersetzt ihn mit der Funktion in den entsprechenden Wert und fügt ihn in das Array ein.

Wir können ein Array mit quadratischen Zahlen in einer Zeile initialisieren:

val generatedArray = IntArray(10) { i -> i * i }

Wie bereits erwähnt, steht diese Art von Konstruktor auch für Objektarrays zur Verfügung:

val generatedStringArray = Array(10) { i -> "Number of index: $i"  }

6. Fazit

In diesem Tutorial haben wir gesehen, wie Arrays in Kotlin initialisiert werden. Wir haben das breite Spektrum der Unterstützung für primitive Arrays entdeckt. Wir haben auch beobachtet, wie wir den Array-Konstruktor mit einer Initialisierungsfunktion verwenden können, um prägnanten Code zu schreiben.

Wie immer ist der Codeover on GitHub verfügbar.