【发布时间】:2015-05-29 17:32:18
【问题描述】:
我在使用流和排序来对我的 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()));
感谢任何形式的帮助或建议...我已经以不同的方式进行了排序,但有必要通过流中的 sorted 方法对其进行排序...
我将在下面发布类脚本,以便于理解上述问题:
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().sorted(Comparator.comparing(e -> e.getCijena()));的结果是否相同?
标签: java arraylist double java-stream sorted