Ako inicializovať pole v Jave?
Pole je dátová štruktúra v jazyku Java, ktorá sa používa na ukladanie dátových objektov s rovnakým dátovým typom. Každý prvok v poli má jedinečnú hodnotu indexu. V poli musíme najprv deklarovať jeho veľkosť a veľkosť poľa je pevná. V poli môžeme ukladať prvky rôznych dátových typov, ako je celé číslo, reťazec, dátum atď. V tomto článku budeme diskutovať o rôznych spôsoboch, ako deklarovať a inicializovať pole.
Vyhlásenie poľa v jazyku Java
Pole je deklarované pomocou jeho dátového typu a identifikátora. V Jave sú polia deklarované podobným spôsobom ako ostatné premenné, ale pri deklarovaní poľa sa pridáva extra zátvorka [].
Syntax:
int arr []; int [] arr;
Veľkosť poľa sa tu neuvádza, pretože referencia poľa je vytvorená v pamäti. Môže byť tiež známa ako pamäťová adresa poľa.
Ako inicializovať pole v Jave?
Po deklarovaní poľa ho musíme inicializovať hodnotami, ako to musíme urobiť s inými premennými. V poli musíme priradiť viacero hodnôt, takže proces inicializácie nie je taký jednoduchý ako premenné. Pole môžeme inicializovať s predvolenými alebo nepredvolenými hodnotami. Nižšie sú uvedené rôzne spôsoby inicializácie poľa:
- Inicializujte pole s predvolenými hodnotami
- Inicializujte pole s inými ako predvolenými hodnotami
- Inicializujte pole pomocou zložených zátvoriek { }
- Inicializácia pomocou stream Interface
Inicializujte pole s predvolenými hodnotami
V jazyku Java môže byť pole inicializované predvolenými hodnotami, keď je veľkosť poľa deklarovaná v pravouhlých zátvorkách [ ].
int [] arr = new int[20];
Vo vyššie uvedenom kóde je deklarované pole veľkosti 20, kde typ údajov je celé číslo. Rôzne typy údajov majú rôzne predvolené hodnoty, ktoré sa inicializujú v čase deklarácie. Pre pole typu integer je predvolená hodnota 0, false je predvolená hodnota pre pole typu boolean a prázdny reťazec je predvolená hodnota pre pole typu string.
Inicializujte pole s inými ako predvolenými hodnotami
V Jave môžeme tiež inicializovať pole s konkrétnymi hodnotami. Na to musíme inicializovať každú hodnotu jednu po druhej. Ale táto metóda je užitočná len pre malé veľkosti polí, nie pre polia s veľkými veľkosťami. Pri veľkých poliach musíme použiť cyklus na inicializáciu iných ako predvolených hodnôt.
V nasledujúcom príklade je deklarované pole celočíselného typu s veľkosťou 6 a potom sa v ňom inicializuje 6 iných ako predvolených hodnôt.
int[] arr = new int[6]; arr[0] = 8; arr[1] = 6; arr[2] = 4; arr[3] = 2; arr[4] = 1; arr[5] = 9;
Inicializujte pole pomocou zložených zátvoriek { }
Pole možno inicializovať aj pomocou zložených zátvoriek, kde nemusíme deklarovať veľkosť poľa. Všetky iné ako predvolené hodnoty sú inicializované v zložených zátvorkách, ktoré sú oddelené čiarkou.
V nasledujúcom príklade je pole typu reťazec inicializované s inými ako predvolenými hodnotami pomocou zložených zátvoriek.
String[] arrStr = {'Geeks', 'of', 'Geeks'}; Inicializácia pomocou stream Interface
Pole je možné inicializovať pomocou rozhrania toku, ktoré generuje tok hodnôt a potom sa skonvertuje na pole. Nižšie sú uvedené tri vstupné rozhrania, ktoré sa používajú na inicializáciu poľa typu integer.
- IntStream.range()
- IntStream.rangeClosed()
- IntStream.of()
1. IntStream.range()
Používa sa na inicializáciu poľa celých čísel v danom rozsahu. Prvý parameter v rozsahu bude prvým prvkom poľa a ostatné prvky v poli budú väčšie ako tento prvok, ale menšie ako druhý parameter rozsahu.
2. IntStream.rangeClosed()
Môžeme použiť aj rangeClosed() namiesto rozsah() ak chceme pridať posledný prvok rozsahu v poli. Prvý parameter v rangeClosed() metóda bude prvým prvkom poľa a ostatné prvky v poli budú väčšie ako tento prvok, ale menšie a rovné druhému parametru rangeClosed() metóda.
3. IntStream.of()
Táto metóda funguje podobne ako zložené zátvorky, kde musíme jednotlivo spomenúť každý prvok, ktorý chceme priradiť do poľa. V nasledujúcom kóde sme poliu priradili hodnoty pomocou týchto troch rozhraní.
Príklad:
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] + ' '); } } }> |
Výkon
1 2 3 4 1 2 3 4 1 2 3 4