4it101»Java8pr 4 Reseni

Java8pr 4 Reseni

Příklad Objednávky - řešení

Řešení tohoto úkolu nevyžaduje mnoho řádků kódu. Nejprve je nutné si uvědomit, na kterou metodu se odkazovat.

Pro setřídění seznamu je vhodné použít metodu Collections.sort(List<T> list, Comparator<? super T> c). Jako první parametr se vloží seznam, který chceme seřadit a druhým parametrem je instance rozhraní Comparator<T>. Což je jedno z funkčních rozhraní. Jeho instanci tedy můžeme vytvořit pomocí lambda výrazu nebo právě pomocí odkazu metod (tak jako je řečeno v zadání).

Jelikož úkolem je porovnat ceny a ve třídě Objednavka je metoda provnatDleCeny() a k tomu ještě statická, je možné vytvořit odkaz metod tak, jak je ukázáno níže.


Collections.sort(objednavky, Objednavka::porovnatDleCeny);

        System.out.println("Seznam po:");
        objednavky.forEach(System.out::println);

 

V další části úkolu se má vypsat seřazený seznam pomocí metody forEach(), kde jako parametr je nutné zadat instanci funkčního rozhraní prostřednictvím lambda výrazu nebo právě odkazu metod (což je varianta, která je určena v zadání).

Celkové řešení je v projektu Objednávky - řešení.