Se eu quiser ordenar pelo nome da conta e não pelo numero ou salario, como faço?
package br.com.alura.banco.conta;
public class ContaPoupanca extends Conta implements Comparable<ContaPoupanca> {
public void deposita(double valor){
this.saldo += valor - 0.10;
}
public void atualiza(double taxa){
this.saldo += this.saldo * taxa * 3;
}
@Override
public int compareTo(ContaPoupanca outraConta) {
//Ordenando pelo saldo
if(this.getSaldo() > outraConta.getSaldo()) return 1;
if(this.getSaldo() < outraConta.getSaldo()) return -1;
else return 0;
//Ordenando pelo numero
//return this.getNumero() - outraConta.getNumero();
}
}
package br.com.alura.banco;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import br.com.alura.banco.conta.ContaPoupanca;
public class TestaOrdenacao {
public static void main(String[] args) {
List<ContaPoupanca> contas = new ArrayList<ContaPoupanca>();
ContaPoupanca c1 = new ContaPoupanca();
c1.deposita(1500.0);
c1.setNome("Marte");
contas.add(c1);
ContaPoupanca c2 = new ContaPoupanca();
c2.deposita(2050.99);
c2.setNome("Lua");
contas.add(c2);
ContaPoupanca c3 = new ContaPoupanca();
c3.deposita(1070.0);
c3.setNome("Terra");
contas.add(c3);
Collections.sort(contas);
for (ContaPoupanca conta : contas) {
System.out.println(conta);
}
}
}