ZP3JV-05: map, filter, repeatChar
- blax65
- 30. 10. 2015
- Minut čtení: 1
Odkaz na cvičení: zde
Odkaz s řešenými zdrojovými kódy: zde
Úkol č.1
S využitím rozhraní
public interface Mapping { Object map(Object o); }
Implementujte metodu List<Object> map(List<Object> list, Mapping m), která se chová stejně jako funkce map, známá ze Schemu/Lispu.
Úkol č.2
Stejným způsobem navrhněte metodu List<Object> filter(List<Object> list, Condition c), která ze seznamu vybere hodnoty splňující danou podmínku. Navrhňete vhdnou třídu/rozhraní Condition. Metodu otestujte výběrem sudých celých čísel ze seznamu. Podmínku vytvořte jako vnitřní třídu, jako anonymní třídu i jako lambda výraz.
Úkol č.3
Implementujte statickou metodu String repeatChar1(char c, int n), která vytvoří řetezec skládající se z n znaků c s použitím konkatenace řetězců (tj. s += c). Implementujte metodu String repeatChar2(char c, int n), která se bude chovat identicky jako metoda repeatChar1, ale bude používat StringBuilder. Změřte rychlost obou metod (s využitím System.currentTimeMillis) při vytváření řetězce o velikosti 100000 znaků. Z výsledků si vemte morální ponaučení!
Comments