У меня возникли проблемы с использованием потока и отсортированы для сортировки моего массива ArrayList и надеюсь, что кто-то может помочь. Код использует хорватские слова, но я не думаю, что это будет проблемой для тех, кто понимает, что я имею в виду.Как отсортировать ArrayList с объектом с помощью stream(). Sorted()
Это ArrayList
ArrayList<Publikacija> listaPublikacija = new ArrayList<>();
listaPublikacija.add(prvaKnjiga);
listaPublikacija.add(drugaKnjiga);
listaPublikacija.add(prviCasopis);
listaPublikacija.add(drugiCasopis);
В моем назначении я должен сортировать эти объекты сверху getCijena(), которая в два раза.
Это лучшее, что я получил, и это еще не сортирует его, как он должен ...
listaPublikacija.stream().sorted((s1, s2) -> Double.compare(s1.getCijena(), s2.getCijena()));
любого вида помощи или совета оценили ... Я уже сделал то по-разному, но это необходимо указывать в сортировать его с помощью отсортированного метода в потоке ...
Я выложу скрипт класса ниже для облегчения понимания выше вопрос:
public Publikacija(String nazivKnjige, int godinaIzdanja, int brojStr, VrstaPublikacije vrstaPub, double cijenaPoStr, double cijena){
this.nazivKnjige= nazivKnjige;
this.godinaIzdanja = godinaIzdanja;
this.brojStr = brojStr;
this.vrstaPub = vrstaPub;
this.cijenaPoStr = cijenaPoStr;
if(getClass().equals(Casopis.class)){this.cijena= Casopis.CIJENA_PO_PRIMJERKU;}
else this.cijena = provjeraCijene(cijena(brojStr,vrstaPub,cijenaPoStr).doubleValue());
делает 'listaPublikacija.stream() сортируется (Comparator.comparing (е -.> Е. getCijena())); «в итоге получаются те же результаты? – Powerlord