Implementace a využití flexibilního seznamu
Zadání
Vaším úkolem je implementovat třídu InfoManager v jazyce Java, která bude umožňovat efektivní správu seznamu informací. Tato třída bude obsahovat klíčové metody pro přidání, odstranění, vyhledání informací v seznamu a další operace. Cílem je procvičit práci s dynamickými strukturami dat, konkrétně s třídou ArrayList, a naučit se základy práce s daty v dynamických seznamech. Tato třída obsahuje následující metody:
-
Konstruktor
Metoda: InfoManager()
Popis: Implementujte konstruktor třídy InfoManager, který vytvoří prázdný seznam informací do proměnné s názvem infoList.
-
Metoda pro přidání informace
Metoda: void addInfo(String name)
Popis: Implementujte metodu addInfo, která umožní přidat zadanou informaci (name) do seznamu.
-
Metoda pro odstranění všech výskytů informace podle názvu
Metoda: void removeInfo(String name)
Popis: Implementujte metodu removeInfo, která odstraní všechny výskyty zadané informace (name) ze seznamu.
-
Metoda pro získání počtu výskytů informace podle názvu
Metoda: int getCountByName(String name)
Popis: Implementujte metodu getCountByName, která vrátí počet výskytů zadané informace (name) v seznamu.
-
Metoda pro zjištění, zda seznam obsahuje danou informaci
Metoda: boolean hasInfo(String name)
Popis: Implementujte metodu hasInfo, která vrátí true, pokud seznam obsahuje zadanou informaci (name), jinak false.
-
Metoda pro odstranění všech informací ze seznamu
Metoda: void clearInfo()
Popis: Implementujte metodu clearInfo, která odstraní všechny informace ze seznamu.
-
Metoda pro zjištění indexu prvního výskytu informace podle názvu
Metoda: int getIndexByName(String name)
Popis: Implementujte metodu getIndexByName, která vrátí index prvního výskytu zadané informace (name) v seznamu, pokud není nalezena, vrátí -1.
Hodnocení
Zadání této úlohy bude řádně otestováno pomocí několika JUnit testů. Úspěšnost vašeho řešení bude hodnocena na základě počtu úspěšně prošlých testů:
- 0 - 2 testy: Známka 5
- 3 testy: Známka 4
- 4 testy: Známka 3
- 5 testů: Známka 2
- 6 testů: Známka 1
Váha známky je 5. Vaše implementace by tedy měla provádět výše popsanou funkcionalitu a měla by úspěšně projít testy.
Podpora úlohy
Pro implementaci úlohy máte k dispozici následující soubory:
- Implementujete soubor (ve složce src/main/java v balíčku org.example) InfoManager.java
- Testy máte k dispozici v souboru (ve složce src/test/java) InfoManagerTest.java
- 12. srpna 2023, 19.12
- 12. srpna 2023, 19.12