Olá Nikolle, tudo certo?
Peço desculpas pela demora em obter retorno.
O método compare()
recebe dois parâmetros: a c1 e a c2 e faz a comparação partindo como referência da c1. As verificações feitas são as seguintes:
- c1 é menor que c2? -> então retornar -1
- c1 é maior que c2? -> então retornar 1
- c1 é igual a c2? -> então retornar 0
lembrando que baseado no critério de ordenação definido, ou caso contrário a partir da ordem natural.
Portanto, a comparação vai acontecendo e verificando qual conta é maior que a outra, baseado no critério de ordenação definido. A ordem na qual a lista vai ficar ordenada, a partir disso (crescente ou decrescente), é definida a partir de como implementamos o sort(), mas por padrão é a ordem crescente. No entanto, caso invertêssemos as verificações para:
- c1 é menor que c2? -> então retornar 1
- c1 é maior que c2? -> então retornar -1
A lista ficaria ordenada na ordem reversa.
Para se aprofundar mais, recomendo a leitura da documentação do Java sobre a classe Comparable, que é a classe utilizada para fazer comparações e auxiliar para ordenações! A documentação está em inglês, mas caso seja necessário você pode utilizar a ferramente de tradução do seu navegador para auxiliar na compreensão!
Fico à disposição em caso de dúvidas.
Um grande abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!