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 – 13. diel - ArrayList v Jave

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
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.

Editované
Odpovedať
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?

Avatar
Odpovedá 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

Odpovedať
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovedá 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.

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?

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é ..?

Editované
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

Avatar
Atrament
Člen
Avatar
Odpovedá 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í.

Avatar
Odpovedá na Atrament
Zdeněk Dvorský:21.2.2022 15:04

Díky - vyzkouším.

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 74.