I-ASOS Cvičenie 7 – Java Stream API

Pre viac informácií prečítajte:

FunctionalInterface

Zoznam funkcionálnych interfaceov v Java 8: https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

Najčastejšie používané:

Interface Vstup Výstup
Function<T,R> T R
Predicate<T> T boolean
Consumer<T> T void
Supplier<T> T
UnaryOperator<T> T T
BinaryOperator<T> (T, T) T

List -> Map

Implementujte metódu byAuthorSurname tak aby zoznam bookList pretransformovala na mapu, kde kľúčom je priezvisko autora a hodnotou je zoznam kníh daného autora zoradených abecedne podľa ich názvu:

Map -> List

Implementujte funkcie books() a booksWithAutor() v triede MapToList. Prvá funkcia len prevedie mapu získanú volaním funkcie byAuthorSurname() z predchádzajúcej úlohy na zoznam kníh. Druhá funkcia zoberie staticky definovanú mapu Author:List<Book> a najprv nasetuje každej knihe autora a následne celú mapu flatne na list podobne ako predchádzajúca funkcia.

Range

Implementujte funkcie v triede Range tak aby vrátili zoznam párnych (even) resp. nepárnych (odd) čísel. Pri implementácii využite private funkciu filter, ktorú zavolajte z public funkcií s vhodnými argumentami.