Buenos días a todos En el curso de JAVA, clase 7, Ordenando Listas, he hecho el ejercicio tal y como lo hace el profesor pero no me compila. Luego lo hice en el aparte cuando dice: haz lo que quisimos en clase, y siguiendo todo el código, sigue sin compilar.
package com.bytebank.test;
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List;
import com.bytebank.modelo.Cliente; import com.bytebank.modelo.Cuenta; import com.bytebank.modelo.CuentaAhorros; import com.bytebank.modelo.CuentaCorriente;
public class TestOrdenarLista2 {
public static void main(String[] args) {
Cuenta cc1 = new CuentaCorriente(22, 33);
Cliente clienteCC1 = new Cliente();
clienteCC1.setNombre("Nico");
cc1.setTitular(clienteCC1);
cc1.deposita(333.0);
Cuenta cc2 = new CuentaAhorros(22, 44);
Cliente clienteCC2 = new Cliente();
clienteCC2.setNombre("Guillermo");
cc2.setTitular(clienteCC2);
cc2.deposita(444.0);
Cuenta cc3 = new CuentaCorriente(22, 11);
Cliente clienteCC3 = new Cliente();
clienteCC3.setNombre("Paulo");
cc3.setTitular(clienteCC3);
cc3.deposita(111.0);
Cuenta cc4 = new CuentaAhorros(22, 22);
Cliente clienteCC4 = new Cliente();
clienteCC4.setNombre("Ana");
cc4.setTitular(clienteCC4);
cc4.deposita(222.0);
List<Cuenta> lista = new ArrayList();
lista.add(cc1);
lista.add(cc2);
lista.add(cc3);
lista.add(cc4);
for (Cuenta cuenta : lista) {
System.out.println(cuenta);
}
NumeroDeCuentaComparator comparator = new NumeroDeCuentaComparator(); // AQUI NO ME COMPILA
lista.sort(comparator);
System.out.println("------------");
lista.sort(new TitularDeCuentaComparator());
for(Cuenta cuenta : lista) {
System.out.println(cuenta + ", " + cuenta.getTitular().getNombre());
}
class NumeroDeCuentaComparator implements Comparator {
@Override
public int compare(Cuenta c1, Cuenta c2) {
return Integer.compare(c1.getNumero(), c2.getNumero());
}
}
class TitularDeCuentaComparator implements Comparator {
@Override
public int compare(Cuenta c1, Cuenta c2) {
String nombreC1 = c1.getTitular().getNombre();
String nombreC2 = c2.getTitular().getNombre();
return nombreC1.compareTo(nombreC2);
}
}
}