Array-Initialisierung in Kotlin: 5 Methoden mit Codebeispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Arrays in Kotlin: Keine Angst, es ist einfach

\n\n

Wenn Sie von Java auf Kotlin umsteigen oder gerade erst anfangen, diese moderne Sprache zu lernen, taucht die Frage „Wie initialisiert man ein Array in Kotlin mit Werten“ fast sofort auf. Auf Stack Overflow hat dieses Thema tausende Aufrufe gesammelt – das zeigt, wie wichtig es ist.

\n\n

Die gute Nachricht: Kotlin macht die Arbeit mit Arrays viel bequemer als Java. Die schlechte Nachricht: Es gibt mehrere Wege, und Anfänger sind oft verwirrt. Lassen Sie uns ein für alle Mal alle Varianten der Array-Initialisierung in Kotlin durchgehen – vom Einfachen zum Komplexen, mit echten Codebeispielen.

\n\n

1. Der einfachste Weg: arrayOf()

\n\n

Die Funktion arrayOf() ist Ihr täglich Brot. Sie erstellt ein Array aus den übergebenen Werten und bestimmt automatisch den Typ.

\n\n
// Array von Ganzzahlen\nval numbers = arrayOf(1, 2, 3, 4, 5)\n\n// Array von Zeichenketten\nval fruits = arrayOf("Apfel", "Banane", "Orange")\n\n// Array mit gemischten Typen (Any)\nval mixed = arrayOf(42, "Kotlin", true)\n\nprintln(numbers.contentToString()) // [1, 2, 3, 4, 5]\nprintln(fruits.contentToString())   // [Apfel, Banane, Orange]\n
\n\n

Wichtig: arrayOf() erstellt ein Array<T> – ein Objekt-Array. Wenn Sie primitive Typen (int, char, boolean) für die Leistung benötigen, lesen Sie weiter.

\n\n

2. Primitive Arrays: intArrayOf(), doubleArrayOf() und andere

\n\n

Kotlin bietet spezialisierte Funktionen für jeden primitiven Typ. Sie sparen Speicher und arbeiten schneller:

\n\n
// Ganzzahlen\nval intArr = intArrayOf(10, 20, 30, 40, 50)\n\n// Gleitkommazahlen\nval doubleArr = doubleArrayOf(1.5, 2.7, 3.14)\n\n// Boolesche Werte\nval boolArr = booleanArrayOf(true, false, true)\n\n// Zeichen\nval charArr = charArrayOf('K', 'o', 't', 'l', 'i', 'n')\n\n// Bytes\nval byteArr = byteArrayOf(0x48, 0x65, 0x6C, 0x6C, 0x6F) // "Hello"\n\nprintln(intArr.joinToString()) // 10, 20, 30, 40, 50\n
\n\n

Vollständige Liste: intArrayOf, doubleArrayOf, floatArrayOf, longArrayOf, shortArrayOf, byteArrayOf, booleanArrayOf, charArrayOf.

\n\n

Wann verwenden? Wenn Sie mit großen Datenmengen arbeiten oder leistungsstarken Code schreiben – nehmen Sie primitive Arrays. Für alltägliche Aufgaben reicht arrayOf() völlig aus.

\n\n

3. Array-Konstruktor: Array(size) mit Lambda

\n\n

Der flexibelste Weg zur Array-Initialisierung in Kotlin ist die Verwendung des Konstruktors mit einem Lambda-Ausdruck. Sie legen die Größe und die Füllregel fest:

\n\n
// Quadrate der Zahlen von 0 bis 4\nval squares = Array(5) { i -> i * i }\nprintln(squares.contentToString()) // [0, 1, 4, 9, 16]\n\n// Array mit 10 Zufallszahlen\nimport kotlin.random.Random\nval randoms = Array(10) { Random.nextInt(100) }\nprintln(randoms.contentToString()) // [42, 17, 83, 5, 91, ...]\n\n// Array von Zeichenketten mit Vorlage\nval labels = Array(3) { index -> "Element #${index + 1}" }\nprintln(labels.contentToString()) // [Element #1, Element #2, Element #3]\n
\n\n

Das Lambda erhält den Index des Elements (von 0 bis size-1) und muss einen Wert zurückgeben. Dies ist ein mächtiges Werkzeug – Sie können das Array nach jeder beliebigen Regel füllen, einschließlich Funktionsaufrufen.

\n\n

4. arrayOfNulls() – Array mit leeren Zellen

\n\n

Manchmal muss man ein Array erstellen und später füllen. Dafür gibt es arrayOfNulls():

\n\n
// Array mit 5 null-Elementen\nval nullArray = arrayOfNulls<String>(5)\nprintln(nullArray.contentToString()) // [null, null, null, null, null]\n\n// Später füllen\nnullArray[0] = "Erster"\nnullArray[2] = "Dritter"\nprintln(nullArray.contentToString()) // [Erster, null, Dritter, null, null]\n
\n\n

Der Typ muss explizit angegeben werden – der Compiler

Blogs

Buchempfehlungen