Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Ordenação usando o Comparator

Ao invés de usar a interface Comparable na Classe Compra, implementando o método compareTo(), eu fiz na Classe Principal:

cartao.getCompras().sort(Comparator.comparingDouble(Compra::getValor));

Está correto dessa forma né?! Agradeço, desde já.

1 resposta
solução!

Olá, Raquel!

Sim, está absolutamente correto! A abordagem que você usou é uma alternativa ao uso da interface Comparable, e é uma maneira muito eficaz de ordenar listas.

A interface Comparator é muito útil quando você quer controlar a ordem de classificação e ela não é a ordem natural dos elementos. No seu caso, você usou o método estático comparingDouble da interface Comparator para comparar os valores das compras. Este método retorna um Comparator que compara dois objetos do tipo Compra pelo valor de suas compras em ordem crescente.

Muito legal. Parabéns :)

Espero ter ajudado e bons estudos!