NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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 12 - ArrayList 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
Lubor Pešek
Člen
Avatar
Lubor Pešek:1.4.2021 12:44

Můžu se zeptat na tenhle bodík?

  • indexOf(položka) - Vrátí index prvního výskytu položky (jako u pole). Vrací -1 při neúspěchu.

Jak se dá v poli vyhledávat INDEX podle hodnoty? :o
Samozřejmě cyklem to jde, ale nevím o tom, že by pole mělo nějaké své metody. Vždyť i atribut length je pouze veřejný atribut.

Editováno 1.4.2021 12:45
Odpovědět
1.4.2021 12:44
Existují dva způsoby, jak vyřešit problém. Za prvé vyhoďte počítač z okna. Za druhé vyhoďte okna z počítače.
Avatar
Václav Pešek:29.11.2021 14:09

Ahoj.
při inicializaci proměnné cisla = new ArrayList<Integer>(); je v hranatých závorkách uveden typ proměnných v ArrayListu. Viz kopie příkladu z této lekce:

public class Losovac {
    private ArrayList<Integer> cisla;
    private Random random;

    public Losovac() {
        random = new Random();
        cisla = new ArrayList<Integer>();
    }

}

Všiml jsem si, že ne vždy typ v hranatých závorkách je uveden. Např. vaše vzorové řešení:

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<String> slova = new ArrayList<>();

        String noveSlovo = "";

        while(!noveSlovo.equals("konec")) {
            System.out.print("Zadej slovo: ");
            noveSlovo = sc.nextLine();
            if(!noveSlovo.equals("konec")) {
                slova.add(noveSlovo);
            }
        }

        System.out.println("Zadal jsi tato slova: " + String.join(", ", slova));
    }

Proč někdy ano a někdy ne? Souvisí to s konstruktorem?

 
Odpovědět
29.11.2021 14:09
Avatar
Odpovídá na Václav Pešek
Petr Štechmüller:29.11.2021 14:55

Ahoj, je to tzv. diamantový operátor, který byl zaveden od Javy 1.7. Je to řekněme pouze syntax sugar, aby se nemusel psát typ 2x

Odpovědět
29.11.2021 14:55
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovídá na Petr Štechmüller
Václav Pešek:29.11.2021 15:39

Petře, děkuji.

 
Odpovědět
29.11.2021 15:39
Avatar
Odpovídá na Lubor Pešek
ing. SARNOVSKÝ Petr:13.12.2021 17:06

Tohoto jsem si také všiml. Po přečtení celé diskuse mám pocit, že došlo k přesunu kapitol Gettery/Settery a ArrayList více na začátek z kapitol tohoto bloku výuky.

 
Odpovědět
13.12.2021 17:06
Avatar
Jaroslav Drobek:14.2.2022 9:54

V minulé lekci jsem nic o datu a času nezaznamenal..

Podle použití soudím, že narozdíl od instanciálních metod 'add(), random()' je metoda 'sort' statická - jak to obecně rozeznat?

Cyklus 'foreach' v metodě 'výpis': proč není deklarován objekt i třídy Integer, když máme procházet prvky listu cisla?

 
Odpovědět
14.2.2022 9:54
Avatar
Jaroslav Drobek:14.2.2022 10:04

asList je (statická) metoda na třídě Arrays realizující konverzi Array na ArrayList? Takové metody je třeba asi použít i při kopírování z jiných kolekcí?

Bude skutečně fungovat symbolicky addAll(kolekce) nebo spíše addAll(kolekce.asList) ?

"Metody na ArrayListu" = instanční, "Další metody" = statické ..?

Editováno 14.2.2022 10:06
 
Odpovědět
14.2.2022 10:04
Avatar
Zdeněk Dvorský:20.2.2022 20:20

Neví někdo proč mi v NetBeans v jakémkoliv cyklu (for, while atd.) nefunguje zápis System.out.prin­t("Zadej slovo: "); ??? V konzoli se to pak nevypisuje. Pokud chci vidět v konzoli řetězec "Zadej slovo: " musím to dát do System.out.prin­tln("Zadej slovo: "); toto se v cyklu vypisuje normálně, ale slova se zadávají až na další řádek což je špatně (neprošlo by to testem). Je chyba někde v nastavení NetBeans? Používám verzi 12.6. Díky

 
Odpovědět
20.2.2022 20:20
Avatar
Atrament
Člen
Avatar
Odpovídá na Zdeněk Dvorský
Atrament:20.2.2022 21:17

To je zastaralou verzí mavenu, která je přibundlovaná k Netbeans, jdi na stránku Mavenu a stáhni zip s poslední verzí (3.8.4) a ten si někam rozbal a pak v Netbeans v menu Tools - Options - Java - Maven nastav Maven Home na adresář s tou novou verzí.

 
Odpovědět
20.2.2022 21:17
Avatar
Odpovídá na Atrament
Zdeněk Dvorský:21.2.2022 15:04

Díky - vyzkouším.

 
Odpovědět
21.2.2022 15:04
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 74.