Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 6 da Aula 5 - Collections framework

public class TestaOrdenacao {

    public static void main(String[] args) {

        List<ContaPoupanca> cc = new ArrayList<ContaPoupanca>();
        ContaPoupanca c1 = new ContaPoupanca();
        ContaPoupanca c2 = new ContaPoupanca();
        ContaPoupanca c3 = new ContaPoupanca();

        c1.setSaldo(200);
        c1.setNumero(10);
        c1.setNome("João");

        c2.setSaldo(100);
        c2.setNumero(12);
        c2.setNome("Vini");

        c3.setSaldo(100);
        c3.setNumero(11);
        c3.setNome("Marcos");

        cc.add(c1);
        cc.add(c2);
        cc.add(c3);


        Collections.sort(cc);
        // ou Collections.reverse(cc);
        Collections.reverseOrder();

        for (ContaPoupanca conta : cc) {
            System.out.println(conta + " " + conta.getNome());
        }
    }
}

Por que o método:

Collections.reverseOrder();

Não necessita do parâmetro cc ?

Se eu tivesse duas listas ele iria ordenar as duas ?

1 resposta
solução!

Oi João,

Na verdade o método Collections.reverseOrder() não recebe parâmetros porque ele serve para devolver um comparador de ordem reversa, para que você possa utilizá-lo posteriormente.

Algo como:

//seu codigo anterior...

Collections.sort(cc);

for (ContaPoupanca conta : cc) {
    System.out.println(conta + " " + conta.getNome());    
}
//A ordem de impressao sera: Joao, Marcos, Vini

Comparator<ContaPoupanca> ordemReversa = Collections.reverseOrder();

Collections.sort(cc, ordemReversa);
for (ContaPoupanca conta : cc) {
    System.out.println(conta + " " + conta.getNome());
}
//A ordem de impressao agora sera: Vini, Marcos, Joao

Bons estudos!