Ir ao conteúdo

Java Como ordenar um vetor de objetos em java usando um atributo do objeto?


Posts recomendados

Postado

Resumindo, eu tenho a classe pessoa e preciso exibir as pessoas que foram colocadas em um LIST<pessoas> e usando uma constante idade sempre eu preciso reordenar a lista para a idade em ordem decrescente. 

Qual a maneira de fazer isso no java? eu fiz algumas tentativas com .sort() mas não consegui localizar o atributo para usar como parâmetro.

pessoas.sort(pessoa.idade(desc));

 

 

 

Postado
21 minutos atrás, AdrianoSiqueira disse:

Agora de cabeça lembro de duas maneiras:

  1. Implementando a interface Comparator e passando para o método sort.
  2. Fazendo Pessoa implementar a interface Comparable e usando o método sort sem parâmetro nenhum.
List<Pessoa> sortedPessoas = pessoasList.stream()
                .sorted(Comparator.comparing(Pessoa::getIdade))
                .collect(Collectors.toList());

Cheguei em algo assim mas ficou inverso, pode ajudar a colocar em ordem descrescente? 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!