IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

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
Avatar
Martin Konečný:18.2.2020 13:03

Ahoj,

chtěl bych požádat o vysvětlení ohledně použítí toho iterátoru. Když zkusím vytvořit instanci té třídy SimpleList, tak mám problém s delkarací toho pole, které v konstruktoru deklarováno s generickým parametrem "Type":

public class Main {

    public static void main(String[] args) {

        int [] pole1= {10,15,20,48,62,58};

                SimpleList <Integer>seznam = new SimpleList<Integer>(pole1);
    }
}

Toto je zjevně špatně, ale nevím proč.
Za prvé když zkusím SimpleList <Integer>seznam = new SimpleList<>(po­le1);
Tak to hlásí chybu "cannot inferr arguments", takže musím doplnit "Integer" i do druhých závorek.

Za druhé to hlásí chybu v parametru- vyžaduje to pole type "Type"
Domníval jsem se, že když v okamžiku vytváření instance deklarujeme typ proměnné jako Integer, tak by potom mělo být možné použít pole typu int.

Díky moc

 
Odpovedať
18.2.2020 13:03
Avatar
Odpovedá na Martin Konečný
Petr Štechmüller:18.2.2020 13:30

Ahoj, chybu cannot inferr arguments hlási IDE? Jakou verzi Javy používáš a jakou máš v tom IDE nastavenou?
V Javě obecně NELZE vkládat do generickych typů primitivní datové typy (int, long, float, double). Od toho tu jsou jejich zástupci ve formě třídy.

Takže změn typ pole

int[] pole = {};
// za
Integer[] pole = {};

a vše začne správně fungovat.

Odpovedať
18.2.2020 13:30
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovedá na Petr Štechmüller
Martin Konečný:18.2.2020 14:08

Díky moc za rychlou odpověď. No to mě taky mohlo napadnout :-)
Ano, opravdu to teď funguje.
Tu chybu mě hlásí Intellij IDEA, ale asi to bude tím nastavení správné verze Javy.
Mám nový počítač a instaloval jsem vše znovu...

 
Odpovedať
18.2.2020 14:08
Avatar
Pavel Puda
Člen
Avatar
Pavel Puda:3.1.2021 13:30

Ahoj. V tom UML diagramu máte podle mě menší nepřesnosti:

  1. TreeSet: Šipka do NavigateSet měla být čárkovaná, zatímco plná čára by měla směřovat do AbstractSet (úplně tam chybí).
  2. Šipka z AbstractMap do Map by měla být čárkovaná.
 
Odpovedať
3.1.2021 13:30
Avatar
Jaroslav Drobek:5.3.2022 11:08

Z pohledu vpřed se probíjejícího outsidera je vysvětlování "thread-safe" pomocí dosud nevysvětleného procesu "modifikace prvků z více vláken" a následný náznak řešení třídami pomyslnou poslední kapkou přetékajícího poháru paměťových konstrukcí - rozlívá se mi to v informační chaos.
...taky je možné, že to někde bylo a já to už ztratil...

 
Odpovedať
5.3.2022 11:08
Avatar
Neaktivní uživatel:13.9.2022 14:40

import java.util.Iterator;

bez toho to nefunguje

Odpovedať
13.9.2022 14:40
Neaktivní uživatelský účet
Avatar
Ondřej Raška:14.9.2022 11:03

Hodnocení

Představení tvorby vlastního Iterátoru je z didaktického hlediska absolutní fail. Je to poměrně náročné na abstrakci tzn. že by příklad měl být názorný, dostatečně popisný a především obsahovat nějakou snadno srozumitelnou praktickou aplikaci.

Pro programátora, který primárně dělá jiný jazyk a zde si rozšiřuje obzory asi dobrý. Pro uplného začátečníka velmi nedostatečné a opět mě to nutí hledat jinde. Kde jsem to navíc, za obdobnou časovu investici jako zde, pochopil.

 
Odpovedať
14.9.2022 11:03
Avatar
Tomáš Krucký
Tvůrce
Avatar
Odpovedá na Ondřej Raška
Tomáš Krucký:14.9.2022 17:17

Ahoj. Mám ten samý problém od OOP a všimnul jsem si už několika tvých kritických komentářů. Chtěl jsem se tě tedy zeptat, kde většinou hledáš doplňující informace, které ti opravdu pomohou ? Děkuji

Odpovedať
14.9.2022 17:17
Jestli chceš něco, co jsi nikdy neměl, tak musíš dělat něco, co jsi nikdy nedělal.
Avatar
Odpovedá na Tomáš Krucký
Benjamin Zrak:17.10.2022 14:59

Ahoj, odporúčam https://www.tutorialspoint.com/…lections.htm ak ti nevadí čítanie a po anglicky... ja si väčšinu vecí odkedy som začal OOP hľadám tu alebo je tu potom ešte možnosť si to prečítať priamo v Java dokumentácii tam to majú tiež v pohode :).

 
Odpovedať
17.10.2022 14:59
Avatar
Tomáš Krucký
Tvůrce
Avatar
Odpovedá na Benjamin Zrak
Tomáš Krucký:22.10.2022 10:13

Děkuji moc, mrknu na to :)

Odpovedať
22.10.2022 10:13
Jestli chceš něco, co jsi nikdy neměl, tak musíš dělat něco, co jsi nikdy nedělal.
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.

Zatiaľ nikto nevložil komentár - buď prvý!