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í.