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 – 3. diel - Zoznam (list) pomocou poľa 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
Vendula Hrstková:29.5.2024 8:49

Chválím přidání příkladu v příloze. I když by to asi chtělo pár průběžných příkladů přímo v lekci. Např. na řádek List<Integer> cislaVetsiNez25 = list.stream()­.filter(a -> a > 25).collect(Co­llectors.toLis­t()); koukám jak tele na nová vrata. Ale třeba časem pochopím...

Avatar
Lubor Pešek
Člen
Avatar
Lubor Pešek:3. júna 9:45

Krásně popsáno. Jen bych tady možná i uvedl tu na první pohled zmatečnou situaci, kdy mám kolekci čísel.
Když mám takovýto případ:

List<String> users = new ArrayList<>();
users.add("Karel");
users.add("Jiří");
users.add("Michal");
users.remove("Karel"); // odstraní objekt
users.remove(0); // odstraní první index

Tak je vše jasné

No jo, ale co když mám tento případ?

List<Integer> numbers = new ArrayList<>();
numbers.add(7);
numbers.add(2);
numbers.add(45);
numbers.remove(2);

Co se v tomto případě odstraní? 45 na indexu 2 nebo 2, která je na indexu 1?

Bylo by dobré se o tomto zmínit, že se v takovémto případě bere číslo jako literál a odstraní se index. Aby se odstranil objekt (skutečně hodnota 2 na indexu 1), tak by to muselo vypadat následovně:

numbers.remove(Integer.valueOf(2));

Mám za to, že by se to tu mohlo zmínit (pokud to tedy není připraveno jako chyták do nějakého testu :D

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
Lubor Pešek
Člen
Avatar
Lubor Pešek:3. júna 10:27

Jo a ještě mě napadlo, že by možná bylo užitečné zmínit rovnou tady (pro inicializaci) defaultní hodnoty. Když bychom třeba chtěli vytvořit kolekci, která bude obsahovat samé desítky, tak by to vypadalo následovně:

List<Integer> numbers = new ArrayList<>(Arrays.asList(new Integer[100]));
Collections.fill(numbers, 10);

Nebo ještě líp:

List<Integer> numbers = new ArrayList<>(Collections.nCopies(100, 10));

Případně i zmínit podobnou přímou inicializaci, jako je u pole a složených závorek, tak že tohle můžeme docílit pomocí metody of na rozhraní List

List<Integer> numbers = List.of(1, 2, 3, 4, 5);
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.
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é 3 správy z 23.