Initialiserer arrays i Kotlin

1. Oversikt

I denne raske opplæringen vil vi se på hvordan vi kan initialisere en matrise i Kotlin.

2. et utvalg av Biblioteksmetode

Kotlin har en innebygd et utvalg av metode som konverterer de oppgitte oppregnede verdiene til en matrise av den gitte typen:

valstrings = arrayOf ("januar", "februar", "mars")

3. Primitive arrays

Vi kan også bruke et utvalg av metode med primitive verdier.

Imidlertid vil Kotlin autoboks de primitive verdiene til deres tilsvarende objektinnpakningsklasser som vil ha skadelige ytelsesimplikasjoner. For å unngå dette har Kotlin bred støtte for primitive matriser. Det er dedikerte et utvalg av metoder for følgende typer: dobbelt, flyte, lang, int, røye, kort, byte, boolsk.

Vi kan enkelt initialisere et primitivt int-array ved hjelp av det dedikerte et utvalg av metode:

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

4. Sen initialisering med indekser

Noen ganger ønsker vi ikke å definere matrisenes verdier ved instantiering. I dette tilfellet kan vi lage en rekke null verdier.

Etter instantiering kan vi få tilgang til og sette feltene i matrisen. Det er flere måter å gjøre dette på, men en vanlig måte er å bruke Kotlins indekser eiendom. Denne egenskapen returnerer en rekke gyldige indekser for matrisen. Vi kan bruke rekkevidde for å få tilgang til og sette verdiene til matrisen i a til Løkke.

La oss initialisere matrisen vår med firkantede tall ved hjelp av denne tilnærmingen:

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

5. Generere verdier med initialisering

Primitive arrays og object arrays har begge konstruktører som aksepterer en initialiseringsfunksjon som en andre parameter. Denne initialiseringsfunksjonen tar indeksen som inndataparameter, oversetter den til riktig verdi ved hjelp av funksjonen og setter den inn i matrisen.

Vi kan initialisere en matrise med firkantede tall i en linje:

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

Som nevnt er denne typen konstruktører også tilgjengelig for objektmatriser:

val generatedStringArray = Array (10) {i -> "Antall indekser: $ i"}

6. Konklusjon

I denne veiledningen så vi hvordan vi skulle initialisere matriser i Kotlin. Vi oppdaget det brede spekteret av støtte for primitive matriser. Vi observerte også hvordan vi kan bruke arraykonstruktøren med en initialiseringsfunksjon til å skrive kortfattet kode.

Som alltid er koden tilgjengelig på GitHub.


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