Java: Práce s poli
Z MiS
Obsah |
K čemu je pole?
- Ukládáme více prvků (proměnných) stejného datového typu.
- K jednotlivým prvkům přistupujeme pomocí čísel (indexů). V jiných jazycích (PHP) lze jako označení prvků (index) použít i textové hodnoty atd.).
- K prvkům pak můžeme snadno přistupovat například v cyklu.
Deklarace pole
Chceme-li vytvořit proměnnou/atribut typu pole, píšeme:
datovyTyp nazevPromenne[];
- Příklad
int pole[];
Zatím se vytvoří pouze odkaz na pole, tedy jedna proměnná, která slouží jako odkaz na pole čísel.
Vytvoření pole
Paměť pro všechny prvky pole se vyhradí teprve příkazem new:
nazevPromenne = new datovyTyp[pocetPolozek];
- Př
pole = new int[100];
int pocet = Konfigurace.getPocetPrvku(); pole = new int[pocet];
Zakaznik data = new Zakaznik[100];
Přístup k prvkům pole
Chci-li pracovat s konkrétním prvkem pole, použiji zápis:
nazevPromenne[poziceVPoli];
Prvky jsou číslované od 0!!!
- Příklady
System.out.println(pole[5]);
pole[5] = 7;
if (pole[5] > pole[4]) System.out.println("Chyba!");
Prvky můžeme samozřejmě procházet v cyklu podobně jako kontejnery:
Zbozi pole[] = new Zbozi[15]; for (int i = 0; i < pole.length; i++) { pole[i] = new Zbozi(); } int celkem = 0; for (Zbozi z : pole) { celkem += z.getCena(); }
Zjištění počtu prvků v poli
Každé pole má vlastnost length
, která reprezentuje počet prvků v poli.
nazevPromenne.length
- Příklady
for (int i = 0; i < pole.length; i++) { ... }
Pole objektů
V poli můžeme ukládat skalární datové typy, nebo objekty. Pak je syntaxe následující:
Point body[]; // deklarace pole (vytvoření odkazu) body = new Point[200]; // vytvoření pole (obsazení paměti pro odkazy na objekty) body[5] = new Point(8, 7); // přiřazení objektu na konkrétní pozici // přístup k objektům a jejich vlastnostem: body[5].x += 7; System.out.println(body[5].x);
Souhrn syntaxe