Seminář 10 (Úkoly)
Úkol č. 1
Implementujte statickou metodu List<Object> odd(List<Object> input) vracející seznam čísel, kde budou pouze lichá čísla z argumentu input. Pokud argument input obsahuje objekt, který není celé číslo, je tento objekt ignorován. Tuto funkcionalitu ověřte.
Implementujte statickou metodu List<Integer> oddNumbers(List<Integer> input) vracející seznam čísel, kde budou pouze lichá čísla z argumentu input.
Úkol č. 2
Naprogramujte statickou metodu boolean hasDuplicates(Collection<?> collection), která bude vracet true, pokud zadaná kolekce obsahuje nějakou hodnotu vícekrát. (Pro implementaci využijte uvnitř metody vhodnou kolekci.)
Úkol č. 3
Naprogramujte statickou metodu frequencies(String s), která vrátí četnost (počet výskytů) jednotlivých znaků v řetězci s. Zvolte vhodný typ návratové hodnoty. Předpokládejte, že na velikosti písmen záleží, tj. 'a' a 'A' jsou odlišné znaky.
Úkol č. 4
Implementujte statickou metodu List<Integer> merge(List<Integer>, List<Integer>), které má na vstupu setříděné posloupnosti celých čísel a provedou jejich ,,slití'', které vrátí na výstup jako nové setříděný seznam.
S využitím metody List<Integer> merge(List<Integer>, List<Integer>) implementuje metodu List<Integer> mergeSort(List<Integer>) implementující algoritmus MergeSort.
Doplňkový úkol
Ověřte si rychlost metody mergeSort, když budete v metodě merge vytvářet seznam jako ArrayList a když budete používat LinkedList. Využijte metody System.currentTimeMillis().