title: How to sort an ArrayList with object using stream().sorted()
body: <p>I am having real trouble with using stream and sorted to sort my ArrayList and hope someone can help out. The code uses Croatian words, but I don't think that will be a problem for someone who understands what I mean.</p>
  
  <p>This is the ArrayList</p>
  
  <pre><code>ArrayList&lt;Publikacija&gt; listaPublikacija = new ArrayList&lt;&gt;();
  
  listaPublikacija.add(prvaKnjiga);
  listaPublikacija.add(drugaKnjiga);
  listaPublikacija.add(prviCasopis);
  listaPublikacija.add(drugiCasopis);
  </code></pre>
  
  <p>In my assignment I am supposed to sort these objects above by getCijena() which is double.</p>
  
  <p>This is the best I got and it still doesn't sort it as it should...</p>
  
  <pre><code>listaPublikacija.stream().sorted((s1, s2) -&gt; Double.compare(s1.getCijena(), s2.getCijena()));
  </code></pre>
  
  <p>Any kind of help or advice appreciated... I already made the sort in different ways, but it is neccessary to sort it via the sorted method in stream...</p>
  
  <p>I'll post the class script below for easier understanding of the question above:</p>
  
  <pre><code>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());
  </code></pre>