Java: Kontejnery

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Přidání procházení kontejneru.)
(Procházení kontejneru: Přidány další příklady a komentář.)
Řádka 30: Řádka 30:
  
 
== Procházení kontejneru ==
 
== Procházení kontejneru ==
  '''for''' (''Predmet'' ''predmet'' : ''kontejner'') {
+
* Předpokládejme, že máme kontejner instancí třídy <code>Prvek</code>:
     ... ''Práce s předmětem''...
+
ArrayList<Prvek> kontejner = new ArrayList<>();
 +
* Pokud chceme projít všechny prvky v kontejneru a s každým provést nějakou operaci, pak použijeme cyklus <code>for each</code>.
 +
* Zapisujeme:
 +
  '''for''' (''Prvek'' ''nazevPromenne'' : ''kontejner'') {
 +
     ... ''Práce s konkrétním prvkem (je v proměnné nazevPromenne)''...
 
  }
 
  }
 +
 +
; Příklady:
 +
; 1.
 +
* Vypíšte jména všech osob v kontejneru instancí třídy <code>Osoba</code>
 +
ArrayList<Osoba> kontejner = new ArrayList<>();
 +
'''for''' (Osoba o : kontejner) {
 +
    System.out.println(o.getJmeno());
 +
}
 +
 +
; 2. Sečtěte hodnoty všech prvků v poli:
 +
* Máte kontejner instancí třídy <code>Ucet</code>. Třída <code>Ucet</code> má metodu <code>getStav()</code>, která vrací číslo &mdash; aktuální stav účtu.
 +
* Sečtěte celkový stav na všech účtech dohromady:
 +
ArrayList<Ucet> ucty = new ArrayList<>();
 +
int vysledek = 0;
 +
'''for''' (Ucet u : ucty) {
 +
    vysledek += u.getStav();
 +
}
 +
System.out.println(vysledek);
 +
 +
== Úkoly ==
 +
; Úkol 1
 +
* Máte kontejner instancí třídy <code>Klient</code>.
 +
* Máte k dispozici metodu <code>odesliPlatbu(Klient k, int castka). Jedná se o instanční metodu vaší třídy.
 +
* Všem klientům máte odeslat částku ve výši 100 Kč.
 +
 +
; Úkol 2
 +
* Máte kontejner instancí třídy <code>Odev</code>.
 +
* Vytvořte instanci třídy <code>Pradelna</code>, třída má metodu <code>oper(Odev o)</code>. (Třídu <code>Pradelna</code> psát nemusíte.)
 +
* Vezměte postupně všechny instance třídy <code>Odev</code> a předejte je k oprání vytvořené instanci třídy <code>Pradelna</code>.

Verze z 6. 6. 2016, 22:07


Obsah

Kontejner

Práce s kontejnerem ArrayList

Vytvoření kontejneru
ArrayList<Predmet> kontejner = new ArrayList<Predmet>();
ArrayList<Predmet> kontejner = new ArrayList<>();


Uložení objektu
kontejner.add(predmet);
Získání objektu
Predmet kontejner.get(poradi);
Odstranění objektu z kontejneru
kontejner.remove(poradi);
kontejner.remove(predmet);
kontejner.clear();
Zjištění počtu prvků v kontejneru
int kontejner.size();
boolean kontejner.isEmpty();


Procházení kontejneru

ArrayList<Prvek> kontejner = new ArrayList<>();
for (Prvek nazevPromenne : kontejner) {
   ... Práce s konkrétním prvkem (je v proměnné nazevPromenne)...
}
Příklady
1.
ArrayList<Osoba> kontejner = new ArrayList<>();
for (Osoba o : kontejner) {
   System.out.println(o.getJmeno());
}
2. Sečtěte hodnoty všech prvků v poli
ArrayList<Ucet> ucty = new ArrayList<>();
int vysledek = 0;
for (Ucet u : ucty) {
   vysledek += u.getStav();
}
System.out.println(vysledek);

Úkoly

Úkol 1
Úkol 2
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje