Arrays initialiseren in Kotlin

1. Overzicht

In deze korte tutorial bekijken we hoe we een array in Kotlin kunnen initialiseren.

2. array van Bibliotheek methode

Kotlin heeft een ingebouwde array van methode die de opgegeven opgesomde waarden omzet in een array van het opgegeven type:

val strings = arrayOf ("januari", "februari", "maart")

3. Primitieve arrays

We kunnen ook de array van methode met primitieve waarden.

Kotlin zal de primitieve waarden echter autoboxen naar hun corresponderende object wrapper-klassen, wat nadelige gevolgen voor de prestaties zal hebben. Om deze overhead te vermijden heeft Kotlin brede ondersteuning voor primitieve arrays. Er zijn toegewijde array van methoden voor de volgende typen: double, float, long, int, char, short, byte, boolean.

We kunnen eenvoudig een primitieve int-array initialiseren met behulp van de dedicated array van methode:

val gehele getallen = intArrayOf (1, 2, 3, 4)

4. Late initialisatie met indices

Soms willen we de waarden van de array niet bij instantiatie definiëren. In dit geval kunnen we een array van nul waarden.

Na instantiatie kunnen we de velden van de array openen en instellen. Er zijn verschillende manieren om dit te doen, maar een veelgebruikte manier is om Kotlin's te gebruiken indices eigendom. Deze eigenschap retourneert een reeks geldige indices voor de array. We kunnen bereik gebruiken om toegang te krijgen tot en de waarden van de array in een voor lus.

Laten we onze array initialiseren met vierkante getallen met behulp van deze benadering:

val array = arrayOfNulls (5) voor (i in array.indices) {array [i] = i * i}

5. Waarden genereren met een initialisatieprogramma

Primitieve arrays en objectarrays hebben beide constructors die een initialisatiefunctie accepteren als een tweede parameter. Deze initialisatiefunctie neemt de index als de invoerparameter, vertaalt deze in de juiste waarde met behulp van de functie en voegt deze in de array in.

We kunnen een array met vierkante getallen op één regel initialiseren:

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

Zoals gezegd is dit soort constructor ook beschikbaar voor objectarrays:

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

6. Conclusie

In deze tutorial hebben we gezien hoe arrays in Kotlin kunnen worden geïnitialiseerd. We ontdekten het brede scala aan ondersteuning voor primitieve arrays. We hebben ook gezien hoe we de array-constructor met een initialisatiefunctie kunnen gebruiken om beknopte code te schrijven.

Zoals altijd is de code beschikbaar op GitHub.


$config[zx-auto] not found$config[zx-overlay] not found