Boa tarde, tenho a seguinte classe:
class pessoa{
private int idade;
private String nome;
}
tenho uma lista de pessoas, List<pessoa> pessoas;
Qual a melhor forma de ordenar essa lista por meio do atributo “idade”? Gostaria de saber qual o método mais popular de fazer esse tipo de ordenação no Java sem “reinventar a roda” tendo que implementar a ordenação na mão.
Vc jogar só sua classe aqui sem explicar o que vc quer exatamente nao vai ajudar.
Mas tente https://stackoverflow.com/questions/7787754/sorting-integers-in-order-lowest-to-highest-java
1 curtida
Opa, eu tinha submetido o post sem querer, eu ainda estava escrevendo. Agora minha descrição está completa
Nome de classe deveria começar com letra maiúscula.
Comparator<Pessoa> comparadorIdade = (pessoa1, pessoa2) -> pessoa1.getIdade() - pessoa2.getIdade();
Collections.sort(pessoas, comparadorIdade);
1 curtida
Baseado na resposta do staroski fui pesquisar e encontrei o seguinte artigo: https://www.alura.com.br/conteudo/java8-lambdas
meu código final ficou da seguinte forma:
pessoas.sort((pessoa1, pessoa2) -> pessoa1.getIdade() - pessoa2.getIdade());
2 curtidas
Sensacional.
Esqueci que a partir do Java 8 o sort
existe na interface List
.
2 curtidas