Inicializácia polí v Kotline

1. Prehľad

V tomto rýchlom návode sa pozrieme na to, ako môžeme inicializovať pole v Kotline.

2. poleOf Knižničná metóda

Kotlin má zabudovanú arrayOf metóda, ktorá prevádza poskytnuté vymenované hodnoty na pole daného typu:

val strings = arrayOf ("január", "február", "marec")

3. Primitívne polia

Môžeme tiež použiť arrayOf metóda s primitívnymi hodnotami.

Kotlin však autoboxuje primitívne hodnoty do ich zodpovedajúcich tried obalov objektov, čo bude mať nepriaznivé dôsledky na výkon. Aby sa tomu zabránilo, má Kotlin širokú podporu pre primitívne polia. Tam sú zasvätení poleOf metódy pre nasledujúce typy: double, float, long, int, char, short, byte, boolean.

Primitívne int pole môžeme ľahko inicializovať pomocou jeho dedikovaného arrayOf metóda:

celé čísla valcov = intArrayOf (1, 2, 3, 4)

4. Neskorá inicializácia pomocou indexov

Niekedy nechceme definovať hodnoty poľa v okamihu. V tomto prípade môžeme vytvoriť pole nulový hodnoty.

Po vytvorení inštancie môžeme pristupovať a nastavovať polia poľa. Existuje niekoľko spôsobov, ako to urobiť, ale bežným spôsobom je použitie Kotlinovho indexy nehnuteľnosť. Táto vlastnosť vracia rozsah platných indexov pre pole. Môžeme použiť rozsah na prístup a nastavenie hodnôt poľa v a pre slučka.

Inicializujme naše pole štvorcovými číslami pomocou tohto prístupu:

val pole = arrayOfNulls (5) pre (i v array.indices) {pole [i] = i * i}

5. Generovanie hodnôt pomocou inicializátora

Primitívne polia aj polia objektov majú konštruktory, ktoré prijímajú funkciu inicializátora ako druhý parameter. Táto funkcia inicializátora vezme index ako vstupný parameter, pomocou funkcie ho prevedie na príslušnú hodnotu a vloží ho do poľa.

Môžeme inicializovať pole so štvorcovými číslami v jednom riadku:

val generovanéArray = IntArray (10) {i -> i * i}

Ako už bolo spomenuté, tento druh konštruktora je k dispozícii aj pre polia objektov:

val generovanýStringArray = Pole (10) {i -> "Číslo indexu: $ i"}

6. Záver

V tomto tutoriáli sme videli, ako inicializovať polia v Kotline. Objavili sme širokú škálu podpory pre primitívne polia. Tiež sme pozorovali, ako môžeme na vytvorenie výstižného kódu použiť konštruktor poľa s funkciou inicializátora.

Ako vždy, kód je k dispozícii na GitHub.


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