NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 1 - Úvod do kolekcí a genericita v Javě

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
Atrament
Člen
Avatar
Odpovídá na Hana Krejčíková
Atrament:17.2.2024 0:20

Aha omlouvám se špatně jsem na to koukl, jsou tam tedy dvě třídy (class) Program a Trida a jedna metoda main. Ta je tedy ve třídě Program a ne v Trida jak jsem myslel.

 
Odpovědět
17.2.2024 0:20
Avatar
Vladimír Mišík:28.2.2024 18:53

Podle mě nefunguje správně ukázkový kód instance.<Strin­g>porovnej("15");, který stále vrací hodnotu false. Kód funguje pouze když naparsuju String na Integer.

 
Odpovědět
28.2.2024 18:53
Avatar
Daniel Černý:12.6.2024 13:49

Naprosto jsem nedokázal z tohoto pochopit, co se vlastně autor snažil říct.

 
Odpovědět
12.6.2024 13:49
Avatar
Pavel Mlynář:15.7.2024 17:52

Tak jsem si to přečetl, přepsal, ale že bych z toho byl moudrý, to se říct nedá.

 
Odpovědět
15.7.2024 17:52
Avatar
Jaroslav Pokorny:11.8.2024 10:49

V textu neni zrejme jaka je hlavni trida a jak je pojmenovana. Bez toho abych si stahnul Zip soubor nebylo mozne postupovat. Text je velmi matouci a tezky na pochopeni

 
Odpovědět
11.8.2024 10:49
Avatar
Miroslav Švec:5.9.2024 18:54

Co že jsme se to vlastně naučili? Za tohle se platí 50 hadrů? Jako nezlobte se na mě...

 
Odpovědět
5.9.2024 18:54
Avatar
Patrik Tománek:15.9.2024 12:48

Proč to dělat komplikovaně, když to šlo udělat jednoduše. Opravdu se mi zdá, že autor nevysvětluje látku člověku, co je začátečník, ale lidem, co snad mění programovací jazyk nebo se učí další. Z lekce jsem nepochopil nic. Co je vlastně ta Genericita sakra? Stačilo to stručně vysvětlit jednou větou, či dvěma ... Z textu jsem opravdu nepochopil co to vlastně ta Genericita je! Škoda. Hlavně, že jsme se dozvěděli, že je to vlastnost jazyka Java a my máme možnost ji využívat (používat) ve svých třídách ...

Příklad s boolean porovnej je dobrá ukázka genericity a její syntaxe, ale nehodilo by se to snažit vysvětlit i jinak? Takhle mi to příjde, že je ukázka bez dobré praxe a hlavně bez užitečné funkcionality ... k čemu je nám sakra metoda, která porovnává String s Integerem, když je tedy jasný, že bude výstup vždy false!

Co takhle boolean porovnej upravit třeba?

public boolean porovnej(T a) {
    if (promenna == null) {
        return a == null;
    }
    return promenna.equals(a);
}

public static void main(String[] args) {

    Trida<Integer> instance = new Trida<>(100);

    System.out.println(instance.porovnej(100)); // Vrací true
    System.out.println(instance.porovnej(15)); // Vrací false
}

Myslím si, že by implementování této ukázky dávalo lidem mnohem větší smysl, než to co je v lekci teď, jenom pro demonstraci syntaxe genericity ...

P.S: U vašeho WYSIWYG editoru je celkem problémový Tabulátor. Možná je to standardní chování, ale přeskakování na další řádek při psaní zdrojového kódu je docela otrava...

Odpovědět
15.9.2024 12:48
Nikdy to nesmíš vzdát!
Avatar
Kristína Veselková:27.11.2024 16:36

Som viac stratená ako Dory v mori ?? Ked Generické kolekcie
boli uz nahradené preco sa nimi venujeme??? Strácam sa, uprimne

 
Odpovědět
27.11.2024 16:36
Avatar
Luboš Rendl
Člen
Avatar
Luboš Rendl:28.11.2024 13:19

Nestačilo by někam připsat něco ve smyslu ? A podpořit to celým kodem kde si udělám třeba vlastní pole s nějakým logem ?

Motivace pro vlastní kolekci
Specifické požadavky na funkčnost

Potřebuješ funkce, které standardní kolekce neposkytují (např. automatickou notifikaci při změně obsahu nebo unikátní způsob ukládání dat).
Například: Kolekce, která loguje všechny operace (přidání, odebrání) pro auditování.
Optimalizace pro konkrétní použití

Standardní kolekce jsou univerzální, ale nemusí být ideální pro speciální situace (např. když pracuješ se specifickými datovými strukturami, jako je kruhový buffer nebo prioritní fronta s vlastní logikou).
Učení a pochopení vnitřní implementace

Vytvoření vlastní kolekce je skvělý způsob, jak se naučit, jak fungují standardní kolekce, a pochopit principy, jako je dynamická alokace, hashování, nebo iterátory.
Rozšíření standardních kolekcí

Když potřebuješ přidat specifickou funkcionalitu na standardní kolekci.
Kompatibilita s legacy kódem

Máš systém, který vyžaduje práci s vlastní kolekcí nebo datovou strukturou, která není kompatibilní s kolekcemi v Javě.

Editováno 28.11.2024 13:20
 
Odpovědět
28.11.2024 13:19
Avatar
Tomáš Polák:10.12.2024 0:21

Bol som z toho jelen. Nasiel som toto video, ktore to skvelo vysvetluje:
https://www.youtube.com/watch?…

 
Odpovědět
10.12.2024 0:21
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 43.