Inicijalizacija nizova u Kotlinu

1. Pregled

U ovom ćemo brzom vodiču pogledati kako možemo inicijalizirati niz u Kotlinu.

2. nizOf Knjižnična metoda

Kotlin ima ugrađenu nizOf metoda koja pretvara dane pobrojane vrijednosti u niz datog tipa:

val nizovi = arrayOf ("Siječanj", "Veljača", "Ožujak")

3. Primitivni nizovi

Također možemo koristiti nizOf metoda s primitivnim vrijednostima.

Međutim, Kotlin će automatski primijeniti primitivne vrijednosti u njihove odgovarajuće klase omotača objekata, što će imati štetne implikacije na izvedbu. Da bi se izbjegle ove režijske troškove, Kotlin ima široku podršku za primitivne nizove. Postoje posvećeni nizOf metode za sljedeće tipove: double, float, long, int, char, short, byte, boolean.

Lako možemo inicijalizirati primitivni int niz koristeći njegov namjenski nizOf metoda:

cijele brojeve val = intArrayOf (1, 2, 3, 4)

4. Kasna inicijalizacija indeksima

Ponekad ne želimo definirati vrijednosti niza u instanciranju. U ovom slučaju možemo stvoriti niz null vrijednosti.

Nakon instanciranja možemo pristupiti i postaviti polja polja. Postoji nekoliko načina da se to učini, ali uobičajeni je način da se koristi Kotlinov indeksi imovine. Ovo svojstvo vraća niz valjanih indeksa za niz. Možemo koristiti raspon za pristup i postavljanje vrijednosti niza u a za petlja.

Inicirajmo svoj niz kvadratnim brojevima koristeći ovaj pristup:

val niz = arrayOfNulls (5) za (i u array.indices) {niz [i] = i * i}

5. Generiranje vrijednosti inicijalizatorom

Primitivni nizovi i nizovi objekata imaju konstruktore koji prihvaćaju funkciju inicijalizatora kao drugi parametar. Ova funkcija inicijalizatora uzima indeks kao ulazni parametar, prevodi ga u odgovarajuću vrijednost pomoću funkcije i ubacuje u niz.

Možemo inicijalizirati niz s kvadratnim brojevima u jednom retku:

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

Kao što je spomenuto, ovakav konstruktor je također dostupan za nizove objekata:

val generiranoStringArray = Niz (10) {i -> "Broj indeksa: $ i"}

6. Zaključak

U ovom uputstvu vidjeli smo kako pokrenuti nizove u Kotlinu. Otkrili smo širok raspon podrške za primitivne nizove. Također smo primijetili kako konstruktor niza možemo koristiti s funkcijom inicijalizatora za pisanje sažetog koda.

Kao i uvijek, kôd je dostupan na GitHub-u.