Polia patria medzi základné stavebné prvky každého programu. V Jave sa s nimi pracuje často – od jednoduchých zoznamov až po zložité matice. Tento článok vám ukáže, ako polia správne vytvárať, napĺňať, čítať a iterovať – bez zbytočnej teórie, ale s praktickými príkladmi.
V Jave môžeme pole deklarovať dvoma spôsobmi:
int[] cisla = new int[5]; // pole s 5 prvkami
int[] cisla; cisla = new int[10]; // alokácia až neskôr
Vo všetkých prípadoch musíme vedieť, koľko prvkov bude mať pole – Java nepodporuje automatické zväčšovanie ako napríklad ArrayList
.
Pole s pevnou veľkosťou môžeme hneď aj naplniť:
int[] dni = {1, 2, 3, 4, 5, 6, 7};
Alebo inicializovať neskôr, napríklad pri načítaní zo vstupu:
Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] hodnoty = new int[n]; // dynamický rozmer podľa vstupu
Vždy však platí: veľkosť poľa sa po vytvorení nedá zmeniť.
Java podporuje viacrozmerné polia – najčastejšie používané sú dvojrozmerné polia (matice). Napríklad tabuľka 3x3:
int[][] matica = new int[3][3]; matica[0][1] = 5;
Môžeme tiež vytvoriť 3D pole, ktoré sa využíva pri simuláciách alebo priestorových dátach:
int[][][] trojrozmerne = new int[2][2][2];
Pri viacrozmerných poliach je dôležité pamätať, že ide o pole polí – teda napríklad každá „riadková“ časť môže mať inú dĺžku (tzv. jagged arrays).
Indexovanie v Jave začína od nuly. Pre pole s 5 prvkami sú platné indexy 0 až 4:
int[] pole = {10, 20, 30}; System.out.println(pole[1]); // vypíše 20
Pole môžeme prechádzať dvoma spôsobmi:
// klasický spôsob for (int i = 0; i < pole.length; i++) { System.out.println("Index " + i + ": " + pole[i]); } // moderný for-each spôsob for (int hodnota : pole) { System.out.println(hodnota); }
for-each
je elegantný, ale nepodporuje priamy prístup k indexu – preto nie je vhodný, ak potrebujete vedieť poradie prvkov.
Práca s poľami môže viesť k typickým chybám:
int[] pole = new int[3]; System.out.println(pole[3]); // chyba – index 3 neexistuje
int[] pole = null; System.out.println(pole.length); // chyba – null
Pred použitím poľa vždy overte, že:
new
)0
až pole.length - 1
Vyskúšajte kurz JAVASE1 – Programovanie v JAVA SE: Syntax jazyka JAVA, v ktorom vás naučíme všetko od základov – vrátane práce s poľami, objektmi, cyklami aj metódami. Kurz je ideálny pre úplných začiatočníkov a každého, kto chce začať s programovaním v Jave efektívne a bez stresu.
Viac informacií preberáme na kurze: