** package bytebank.test;
import java.util.ArrayList; import java.util.Comparator;
import bytebank.modelo.*; import bytebank.modelo.Cuenta; import bytebank.modelo.CuentaCorriente;
public class TestOrdenarLista { public static void main(String[] args) {
java.util.List<Cuenta> lista = new ArrayList<>();
Cuenta cc1 = new CuentaCorriente(22, 33);
Cliente clienteCC1 = new Cliente();
clienteCC1.setNombre("Diego");
cc1.setTitular(clienteCC1);
cc1.deposita(333.0);
Cuenta cc2 = new CuentaCorriente(22, 44);
Cliente clienteCC2 = new Cliente();
clienteCC2.setNombre("Renato");
cc2.setTitular(clienteCC2);
cc2.deposita(444.0);
Cuenta cc3 = new CuentaCorriente(22, 11);
Cliente clienteCC3 = new Cliente();
clienteCC1.setNombre("Liam");
cc3.setTitular(clienteCC3);
cc3.deposita(111.0);
Cuenta cc4 = new CuentaCorriente(22, 22);
Cliente clienteCC4 = new Cliente();
clienteCC4.setNombre("Noel");
cc4.setTitular(clienteCC4);
cc4.deposita(222.0);
lista.add(cc1);
lista.add(cc2);
lista.add(cc3);
lista.add(cc4);
System.out.println("Antes de ordenar");
for (Cuenta cuenta : lista) {
System.out.println(cuenta);
}
Comparator<Cuenta> comparator2 = new OrdenadorPorNombreTitular();
lista.sort(comparator2);
System.out.println("Despues de ordenar");
for (Cuenta cuenta : lista) {
System.out.println(cuenta);
}
}
}
class OrdenadorNumeroPorNumeroCuenta implements Comparator{
@Override
public int compare(Cuenta o1, Cuenta o2) {
if (o1.getNumero()== o2.getNumero()) {
return 0;
} else if (o1.getNumero()> o2.getNumero()) {
return 1;
} else {
return -1;
}
}
}
class OrdenadorPorNombreTitular implements Comparator{ @Override public int compare(Cuenta o1, Cuenta o2) { return o1.getTitular().getNombre().compareTo(o2.getTitular().getNombre()); } } **
![]( )