Na video aula, foi utilizado apenas o atributo "numero da conta" como critério para ordenação da lista de contas. Levando em consideração que poderíamos querer que o numero da agência também fosse utilizado como critério no processo, ajustei o método compare()
da seguinte forma:
public int compare(Conta c1, Conta c2) {
if (c1.getAgencia() < c2.getAgencia()) {
return -1;
} else {
if (c1.getAgencia() > c2.getAgencia()) {
return 1;
} else {
if (c1.getNumero() < c2.getNumero()) {
return -1;
} else {
if (c1.getNumero() > c2.getNumero()) {
return 1;
}
}
}
}
return 0;
}
Apesar do código acima funcionar sem problemas aparentes (utilizei uma lista com contas de diferentes agencias e com diferentes números), minha duvida é referente a quantidade de if else
que foi necessário para conseguir aplicar a lógica, uma vez que já foi dito em aulas anteriores que "muitos 'ifs' no código não é boa prática". Haveria alguma forma mais prática de fazer esse mesma ordenação sem ter que utilizar tantas condicionais para isso?