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á.
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á.
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!