Beruflich Dokumente
Kultur Dokumente
● Iterator
● • Define um interface para o acesso e varredura;
● ConcreteIterator
● • Implementa a interface do Iterator;
● • Mantém referência (cursor) ao objeto que está sendo percorrido, podendo
calcular qual o elemento seguinte.
●
Aggregate
● • Define um interface para a criação do objeto Iterator;
● ConcreteAggregate
● • Implementa o método da interface que retorna uma instância do
ConcreteIterator (ArrayList, LinkedList, Vector).
● O método hasNext() verifica se existe um elemento
depois do atual. O método next() retorna esse
valor. É importante notar que o iterador que
cumpre esta interface não se posiciona em
nenhuma elemento quando é criado.
● O método hasNext() testa se o elemento seguinte
existe, no caso, ele verifica se o conjunto a iterar
não é vazio. O método next() é responsável por
prosseguir para o elemento seguinte e o retornar.
Problema
System.out.println(canal.nome);
}
for (int i = 0; i < matrizDeCanaisNacionais.length; i++) {
System.out.println(matrizDeCanaisNacionais[i].nome);
}
● A implementação é funcional, mas observe os seguintes cenários:
• Uma das equipes decidiu alterar a implementação;
• Uma nova equipe é responsável por canais asiáticos, onde decidiram implementar através de
LinkedList. Teríamos que realizar a adequação do código em várias partes da aplicação, uma vez a
iteração sobre os diferentes tipos de implementação é distinto.
Solução