Lekce 12 - Comparator a řazení prvků kolekcí v Kotlin
V předchozím kvízu, Kvíz - Získávání prvků a transformace kolekcí v Kotlin, jsme si ověřili nabyté zkušenosti z předchozích lekcí.
V dnešním Kotlin tutoriálu podrobně rozebereme, jak seřadit prvky v
kolekci, která obsahuje námi vytvořené instance. Docílíme toho například
přepsáním metody compareTo() z rozhraní
Comparable, kde je definována pro řazení jednoduchých datových
typů dle přirozeného řádu. Ukážeme si ale i další možnosti, jak
vytvořit vlastní řadící pravidla.
Přepsání metody
compareTo()
Již víme, že přirozený řád prvků v kolekci je definován rozhráním
Comparable. Chceme-li definovat jiné pořadí nebo pracovat s
kolekcí, kde ukládáme instance svých tříd, musíme zavolat rozhraní
Comparable. V něm implementujeme (přepíšeme) metodu
compareTo(), abychom určili, podle čeho se mají námi
vytvořené instance porovnávat. compareTo() musí tedy vzít jako
argument jiný objekt stejného typu a vrátit celočíselnou hodnotu
ukazující, jaký objekt je větší:
- Kladné hodnoty ukazují, že objekt příjemce je větší.
- Záporné hodnoty ukazují, že je menší, než argument.
- Nula ukazuje, že objekty jsou stejné.
Níže je uvedena třída pro řazení verzí, které se skládají z hlavní a vedlejší části:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit pouze tento kurz
Získej okamžitý přístup ke kurzu bez
časového omezení.
720 Kč
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Přístup k jednotlivým lekcím dle způsobu pořízení.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V Kotlin tutoriálu podrobně rozebereme, jak seřadit prvky v kolekci pomocí metod pro řazení a ukážeme si, jak vytvořit vlastní řadící pravidla.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.