Masyvas yra Java duomenų struktūra, naudojama duomenų objektams, turintiems tą patį duomenų tipą, saugoti. Kiekvienas masyvo elementas turi unikalią indekso reikšmę. Masyve pirmiausia turime deklaruoti jo dydį ir masyvo dydis yra fiksuotas. Masyve galime saugoti įvairių duomenų tipų elementus, pvz., sveikąjį skaičių, eilutę, datą ir kt. Šiame straipsnyje aptarsime įvairius masyvo deklaravimo ir inicijavimo būdus.
len of masyvo java
Masyvo deklaravimas Java
Masyvas deklaruojamas naudojant jo duomenų tipą ir identifikatorių. Java programoje masyvai deklaruojami panašiai kaip ir kiti kintamieji, tačiau deklaruojant masyvą pridedamas papildomas skliaustas [].
Sintaksė:
int arr []; int [] arr;>
Čia masyvo dydis neminimas, nes atmintyje sukuriama masyvo nuoroda. Jis taip pat gali būti žinomas kaip masyvo atminties adresas.
Kaip inicijuoti masyvą „Java“?
Deklaravus masyvą, turime jį inicijuoti reikšmėmis, kaip ir su kitais kintamaisiais. Masyve turime priskirti kelias reikšmes, todėl inicijavimo procesas nėra toks paprastas kaip kintamieji. Mes galime inicijuoti masyvą su numatytosiomis arba nenumatytomis reikšmėmis. Toliau pateikiami įvairūs masyvo inicijavimo būdai:
- Inicijuoti masyvą su numatytosiomis reikšmėmis
- Inicijuoti masyvą su ne numatytosiomis reikšmėmis
- Inicijuoti masyvą naudojant riestinius skliaustus { }
- Inicijavimas naudojant srauto sąsają
Inicijuoti masyvą su numatytosiomis reikšmėmis
Java programoje masyvas gali būti inicijuotas pagal numatytąsias reikšmes, kai masyvo dydis deklaruojamas stačiakampiais skliaustais [ ].
int [] arr = new int[20];>
Aukščiau pateiktame kode deklaruojamas 20 dydžio masyvas, kuriame duomenų tipas yra sveikasis skaičius. Skirtingi duomenų tipai turi skirtingas numatytąsias reikšmes, kurios inicijuojamos deklaracijos metu. Sveikojo skaičiaus tipo masyvo numatytoji reikšmė yra 0, false yra numatytoji loginio tipo masyvo reikšmė, o tuščia eilutė yra numatytoji eilutės tipo masyvo reikšmė.
Inicijuoti masyvą su ne numatytosiomis reikšmėmis
Java taip pat galime inicijuoti masyvą su tam tikromis reikšmėmis. Tam turime inicijuoti kiekvieną reikšmę po vieną. Tačiau šis metodas naudingas tik mažo dydžio masyvams, o ne didelių dydžių masyvams. Didelių masyvų atveju turime naudoti kilpą, kad inicijuotų nenumatytąsias reikšmes.
Toliau pateiktame pavyzdyje deklaruojamas 6 dydžio sveikojo skaičiaus tipo masyvas ir jame inicijuojamos 6 nenumatytosios reikšmės.
int[] arr = new int[6]; arr[0] = 8; arr[1] = 6; arr[2] = 4; arr[3] = 2; arr[4] = 1; arr[5] = 9;>
Inicijuoti masyvą naudojant riestinius skliaustus { }
Masyvą taip pat galima inicijuoti naudojant sulenktus skliaustus, kur nereikia deklaruoti masyvo dydžio. Visos nenumatytosios reikšmės inicijuojamos riestiniuose skliaustuose, kurie atskiriami kableliu.
Toliau pateiktame pavyzdyje eilutės tipo masyvas inicijuojamas su ne numatytosiomis reikšmėmis, naudojant riestinius skliaustus.
String[] arrStr = {'Geeks', 'of', 'Geeks'};> Inicijavimas naudojant srauto sąsają
Masyvas gali būti inicijuotas naudojant srauto sąsają, kuri generuoja reikšmių srautą ir paverčiama masyvu. Žemiau yra trys srautinės sąsajos, kurios naudojamos inicijuoti sveikojo skaičiaus tipo masyvą.
- IntStream.range()
- IntStream.rangeClosed()
- IntStream.of()
1. IntStream.range()
Jis naudojamas norint inicijuoti sveikųjų skaičių masyvą tam tikrame diapazone. Pirmasis diapazono parametras bus pirmasis masyvo elementas, o kiti masyvo elementai bus didesni už tą elementą, bet mažesni už antrąjį diapazono parametrą.
2. IntStream.rangeClosed()
Taip pat galime naudoti diapazonasUždarytas() vietoj diapazonas() jei norime įtraukti paskutinį diapazono elementą į masyvą. Pirmasis parametras diapazonasUždarytas() metodas bus pirmasis masyvo elementas, o kiti masyvo elementai bus didesni už tą elementą, bet mažesni už antrąjį masyvo parametrą ir jam lygūs. diapazonasUždarytas() metodas.
3. IntStream.of()
Šis metodas veikia panašiai kaip garbanoti skliaustai, kai turime atskirai paminėti kiekvieną elementą, kurį norime priskirti masyvai. Šiame kode mes priskyrėme masyvui reikšmes naudodami šias tris sąsajas.
Pavyzdys:
Java
// Java program to demonstrate different ways of> // initializing an integer array.> import> java.util.stream.IntStream;> > // Driver Clas> public> class> Main {> >// Main function> >public> static> void> main(String[] args)> >{> > >// an array of integers using IntStream.range()> >// method> >int>[] arr1 = IntStream.range(>1>,>5>).toArray();> >for> (>int> i =>0>; i System.out.print(arr1[i] + ' '); } System.out.print('
'); // an array of integers using // IntStream.rangeClosed() method int[] arr2 = IntStream.rangeClosed(1, 4).toArray(); for (int i = 0; i System.out.print(arr2[i] + ' '); } System.out.print('
'); // an array of integers using IntStream.of() // method int[] arr3 = IntStream.of(1, 2, 3, 4).toArray(); for (int i = 0; i System.out.print(arr3[i] + ' '); } } }> |
>
>Išvestis
1 2 3 4 1 2 3 4 1 2 3 4>