Search
https://gitlab.fel.cvut.cz/B211_B6B36OMO/seminar/-/tree/master/cv9_solution
Pro ty, kteří nebyli na přednáškách: - přednáška a (nebo) Java 8 streams na Oracle
Stáhněte si z repository základ cvičení 10:
https://gitlab.fel.cvut.cz/B241_B6B36OMO/seminar/-/tree/master/cv10_assignment Cvičení má dvě části:
Struktura:
1. findAllTransactionsIn2011AndSortByValueAsc()
Nalezněte všechny transakce provedené v roce 2011 a setřiďte je podle velikost. Hint: operace filter(), sorted() a collect()
2. getUniqueCitiesSortedAsc()
Vypište unikátní seznam měst.
3. getSingleStringFromUniqueTradersNamesSortByNameAsc()
Vypište řetězec, který vypisuje seznam obchodníků ve formátu “Traders: name1 name2 … ”- např. “Traders: Bob George”, ''. Hint: použijte reduce() operaci
4. isSomeTraderFromCity()
Existuje pro zadané město nějaký obchodník? Hint. operace anyMatch()
5. findSmallestTransactionUsingReduce()
Nalezněte nejmenší transakci. Pro nalezní použijte reduce() operaci
6. getTradersByTown()
Vraťte obchodníky zgrupovné podle města. Hint. operace groupingBy()
7. getTradersCountsByTown()
Vraťte počty obchodníků zgrupovné podle města.
8. partitionTransactionsByTraderIsVegetarian()
Rozdělte transakce na dvě skupiny - první, provedené vegetariány a druhá ostatní. Hint. operace partitionBy()
1. Fibonaciho posloupnost
Vygenerujte sekvenci <{0, 1},{1, 1},{1, 2},{2, 3},{3, 5},{5, 8}…>. Hint. použijte indukci (iterate())
2. Pythagorovy trojice
Vygenerujte pythagorovy trojice <{3.0, 4.0, 5.0}, {5.0, 12.0, 13.0}, {6.0, 8.0, 10.0}… >. Hint. IntStream.rangeClosed(0, 1000) .boxed() vrací stream Iteger hodnot 0 až 1000.
V prezentaci naleznete rozsáhlejší příklad.