2
respostas

Interface Iterator usada no vídeo aula para remoção do registro da Lista

Pergunta de leigo: Se Iterator é uma Interface porque a classe Banco não precisou implementar a mesma, como estudado no curso de OO? Algum objeto já assinou o contrato por debaixo dos panos?

Grato

2 respostas

Olá Marcelo, blz?

Desculpa mas não entendi.

A classe Banco não implementa Iterator.

Você quis se referenciar a outra classe ou alguma outra coisa?

Conclui recentemente o curso de Servlets, tenho o projeto no meu github:

https://github.com/GuiTadeu/Formacao-Java/blob/master/Servlets/src/br/com/caelum/model/Banco.java

Repare que na classe banco não há implementação.

Se eu não tiver entendido direito sua pergunta peço para que me explique por favor.

Quero poder te ajudar.

Aguardo seu retorno! ^^

Oi Guilherme, tudo blz e você! A sua classe Banco o "remove" é distinto do meu:

public class Banco { // cade implements Iterator?
...

public void removeEmpresa(Integer id) {

        //este iterator sabe trabalhar com este tipo de lista, alterar, remover ...
        Iterator<Empresa> it = lista.iterator();

        while(it.hasNext()) { // proximo elemento
            Empresa emp = it.next(); // pega proximo elemento

            if(emp.getId()== id) {
                it.remove();
            }

        }

    }