package cobaia;
import toolkit.Iterator;
import toolkit.List;
public class Main {
public static void main(String[] argumentos) {
List<String> nomes = new List<String>();
nomes.append("Andrei Garcia");
nomes.append("Vinicius Porto");
nomes.append("Vinicius Montenegro");
nomes.append("Leandro Marques");
nomes.append("Marcos Scholl");
nomes.append("Bruno Lima");
nomes.append("Gabrieli Roldao");
nomes.append("Pedro Costa");
for (Iterator<String> it = nomes.getIterator(); it.hasNext();) {
System.out.println(it.next());
}
Iterator<String> it = nomes.getIterator();
while (it.hasNext()) System.out.println(it.next());
Cliente c1 = new Cliente();
c1.addTelefone("32334455");
c1.addTelefone("32544455");
Iterator<String> telefones = c1.getTelefones();
while (telefones.hasNext()) {
System.out.println(telefones.next());
}
}
private static void testaTemplateMethod() {
Cliente c1 = new Cliente();
c1.setCodigo(0);
c1.setNome("Bruno Lima");
c1.setCpf("11122233344");
Cliente c2 = new Cliente();
c2.setCodigo(12);
c2.setNome("Bruno Lima");
c2.setCpf("11122233344");
ListClienteValido clientes =
new ListClienteValido();
clientes.append(c1);
clientes.append(c2);
System.out.println(clientes);
}
private static void testaLista() {
ListComContador lista = new ListComContador();
lista.append("aaa");
lista.append("bbb");
System.out.println(lista.getCont());
lista.prepend("ccc");
System.out.println(lista.getCont());
lista.insert(1, "ccc");
System.out.println(lista.getCont());
}
}
class ListComContador<T> extends List<T> {
private int cont;
public int getCont() { return cont; }
@Override
public void append(T o) {
cont++;
super.append(o);
}
@Override
public void prepend(T o) {
// cont++;
super.prepend(o);
}
@Override
public void insert(int i, T o) {
cont++;
super.insert(i, o);
}
}