Listobjetos=newArrayList<>();…demaisCódigos// para inverter a ordem inverte o p1 e p2…objetos.sort((p1,p2)->{integerretorno=p1.getParametro1().compareTo(p2.getParametro1());//Long, Integer, Date entre outrosif(retorno==0){// se for igualreturnp1.getParametro2().compareTo(p2.getParametro2());}returnretorno;}
A
anon62916717
A implementação mencionada é interessante pois ajuda bastante na redução de linhas de código.
Considerando a agumentação de @Dinho_Zanatta_Br, com o devido reconhecimento às instruções de @lvbarbosa apresento outra alternativa de codificação:
importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;publicclassContato{privatefinalStringnome;privatefinalintnumero;publicContato(Stringnome,intnumero){this.nome=nome;this.numero=numero;}publicstaticvoidmain(String[]args){List<Contato>contatos=newArrayList<>();//adicionando itens à coleçãoCollections.addAll(contatos,newContato("Evandro",7),newContato("Jose",5),newContato("Evandro",5),newContato("jose",1));//implementação da comparação vide http://blog.caelum.com.br/o-minimo-que-voce-deve-saber-de-java-8/ contatos.sort(Comparator.comparing((contato)->contato.nome+contato.numero));//visualisando o resultadocontatos.forEach((dado)->{System.out.println(dado.nome+" "+dado.numero);});}}