Seminář 8

Témata

Generické typy

Optional

Comparable<T>

Další aspekty

Zdroje a ukázky

Úkoly

  1. Implementujte generické rozhraní pro konečné množiny:
    • pojmenujte jej GenericSet<T>;
    • omezte situaci tak, aby T muselo implementovat Comparable<T>. Zamyslete se, čeho tím docílíte?
  2. Přidejte do rozhraní GenericSet<T> metody max() a min();
    • zvolte jim co nejvhodnější návratové typy
  3. Implementujte generickou množinu vnitřně reprezentovanou binárním vyhledávacím stromem:
    • opět nemusíte řešit vyvažování;
    • pojmenujte ji GenericBSTSet<T>.
  4. Implementujte generickou množinu vnitřně reprezentovanou generickým seznamem:
    • pojmenujte ji GenericLLSet<T>).
  5. Ujistěte se, že Vaše GenericBSTSet<T> a GenericLLSet<T> implementují GenericSet<T>.
  6. Upravte rozhraní GenericSet<T> tak, aby se Vaše množiny daly navzájem porovnávat:
    • množiny porovnávejte podle kardinality;
    • opravte vše, co se tím rozbije.
  7. Vše řádně zdokumentujte.
  8. Výsledek odevzdejte emailem s předmětem jj1-08 na tomas.urbanec@upol.cz do 28.11.2023, 14:59 CEST. Odevzdávejte pouze zdrojové kódy, nikoliv celé projekty vygenerované IDE.