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().


Last update on 19. 9. 2025 01:14
Powered by Schemik.

© Petr Krajča, 2010, 2012
petr.krajca (at) upol.cz