NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 2 - Java Collections Framework

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
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

 
Odpovědět
25.10.2022 9:54
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 ?!

 
Odpovědět
9.11.2022 15:25
Avatar
Odpovídá 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ý...

Editováno 9.11.2022 15:30
Odpovědět
9.11.2022 15:30
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ý.

 
Odpovědět
13.1.2023 9:31
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.

Odpovědět
20.2.2023 22:10
MOPOD
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é ;)

Odpovědět
4.3.2023 19:25
: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(); ) {

 
Odpovědět
31.3.2023 19:04
Avatar
Odpovídá 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.

Odpovědět
31.3.2023 19:20
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 :-)

 
Odpovědět
16.4.2023 15:06
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.

 
Odpovědět
23.5.2023 19:47
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 32.