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