Cvičení 06

6. cvičení 21.10.2024

Rozhraní Iterable/Iterator. opakování.

Výchozí projekt

Použijte projekt na adrese https://gitlab.vsb.cz/jez04-vyuka/java-efrei/efrei-lab06.git jako základ pro dokončení následujících úkolů.

Importujte jej do prostředí Eclipse:

  • File -> Import... -> project from Git (with smart import) -> Clone URI -> (jako URI použijte výše uvedený odkaz)  -> Next -> Next -> Finish

Otevřete v InteliJ IDEA:

  • File -> New -> Project from Version Control... -> (použijte výše uvedený odkaz jako URL) -> Clone.

Úkoly

  • Vytvořte třídu World, která má kolekci hrdinů a další kolekci příšer.
  • V konstruktoru inicializujte kolekce hrdinů a příšer ze třídy World. Vygenerujte náhodný počet příšer a hrdinů.
  • Zajistěte, aby třída World implementovala rozhraní Iterable.
  • Vytvořte vnitřní třídu, která implementuje rozhraní Iterator, a zajistěte, aby byl objekt této třídy vrácen v metodě World::iterator().
  • Zajistěte, aby metoda remove() z rozhraní Iterator byla přepsána a implementována tak, aby umožňovala odstraňování prvků během iterace.

Řešení

řešení lze najít ve výchozím projektu ve větvi solution