Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 2. diel - Java Collections Framework

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Martin Král
Člen
Avatar
Martin Král:25.10.2022 9:54

Stejně jako kolegové u posledních komentářů tomu nerozumím.... vůbec nechápu vysvětlení vlastního iterátoru

Avatar
Jiří Ress
Člen
Avatar
Jiří Ress:9.11.2022 15:25

implementace vlastního iterátoru jsem nebyl schopný pochopit. Opět jdu k jinému zdroji ... opravdu si tohle necháváte zaplatit ?!

Avatar
Odpovedá na Jiří Ress
Petr Štechmüller:9.11.2022 15:30

Ahoj, co přesně jsi nepochopil? Můžeme se to pokusit napravit, ale potřebuji vědět, co je nesrozumitelný...

Editované
Odpovedať
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Jan Trnka
Člen
Avatar
Jan Trnka:13.1.2023 9:31

Tak jsem opravdu zmatený.

Avatar
Pavel Křenek:20.2.2023 22:10

Pro začátečníka strašně složité...mnoho informací s vysvětlením, které jako laik čato nejsem schopen ani po 3 přečteních plně pochopit. Respektive mi nedocházejí souvislosti.

Implementace vlastního iterátoru je pro mě vcelku chaos.

Avatar
Yveta Kršková:4.3.2023 19:25

No, je to dost obecné, ale tady už je alespoň "vysvětleno", že <T> v nápovědě NetBeansu je zkratka pro Type a zhruba naznačeno, proč na StackOverflow a GeekForGeeks zkušenější ajťáci doporučují vytvořit si pro importované funkce ještě navíc vlastní konkrétní třídu. To rozšíření o téma iterací je velice užitečné ;)

Odpovedať
:D :D :D
Avatar
Pavel Vaněk
Člen
Avatar
Pavel Vaněk:31.3.2023 19:04

Porovnal jsem to s https://www.tutorialspoint.com/…iterator.htm, kde iterátor používají následujícím, vcelku pochopitelným způsobem:

// Create an array list
ArrayList al = new ArrayList();

// add elements to the array list
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");

// Use iterator to display contents of al
System.out.print("Original contents of al: ");
Iterator itr = al.iterator();

while(itr.hasNext()) {
   Object element = itr.next();
   System.out.print(element + " ");
}

Je to podobné příkladu z lekce

List<String> prijmeni = new ArrayList<>();
for (Iterator<String> iterator = prijmeni.iterator(); iterator.hasNext(); ) {
    String next = iterator.next();
    System.out.println(next);
    iterator.remove(); // Pokud to kolekce podporuje, tak se odstraní aktuální prvek
}

Zajímal by mě ten "zvláštní" zápis for cyklu kde je u iterator proti první verzi navíc datový typ <String> a pak jsem ještě neviděl zápis for cyklu s dvěma parametry uvozenýma středníky. Může to prosí někdo vysvětlit? Dík
for (Iterator<String> iterator = prijmeni.itera­tor(); iterator.hasNex­t(); ) {

Avatar
Odpovedá na Pavel Vaněk
Petr Štechmüller:31.3.2023 19:20

Ahoj,

  1. když už je objekt generický (v tomto případě třída Iterator, tak je dobré mu ten datový typ nadefinovat. Díky němu bude kompilátor vědět, že metoda next() bude vracet konkrétní datový typ. V tom tvém případu se vůbec nikde nedefinuje generický typ. To znamená, že se defaultně pracuje se základním typem Object. Ovšem pokud bys potřeboval provést a každým prvkem něco komplexnějšího, než obyčejný výpis, tak bys musel ten objekt nejdříve manuálně přetypovat.
  2. For cyklus se standardně skládá ze tří části: definice proměnných, podmínky a "kroku". Poslední část "krok" může být vynechán, jak je vidět v příkladu z lekce. Část "krok" se vždy vykoná na konci každého cyklu.

Ještě doplním, že existuje i speciální verze For cyklu, který vypadá následovně:

for (;;) {}

Nedefinuje se žádná ze tří částí. Zjednodušeně se to dá chápat jako nekonečný cyklus, protože neexistuje žádná podmínka, která by ukončila cyklus.

Odpovedať
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Jan Krupa
Člen
Avatar
Jan Krupa:16.4.2023 15:06

No, cítím se podobně jako po absolvování prvních pár lekcí OOP - tzn. vím, že to ještě bude chtít čas :-)

Avatar
Pavel Mikuška:23.5.2023 19:47

Príde mi zbytočné na začiatku kurzu v Lekcii č. 2 rozvádzať tak podrobne celú kolekciu a spomínať rôzne abstraktné triedy, vlastný iterátor a možnosti vytvorenia si vlastnej kolekcie... Prečo? Potrebujeme aby ste jednoducho vysvetlili najpoužívanejšie základné kolekcie s príkladom použitia v praxi. A ostatné seniorné features dajte ako bonusové nepovinné kapitoly nakoniec.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 32.