Sobes.tech
Junior

O que é um iterador e para que serve?

sobes.tech IA

Resposta da IA

Um iterador em Java é um objeto que permite percorrer sequencialmente os elementos de uma coleção sem necessidade de conhecer a sua estrutura interna.

Os principais objetivos do uso do iterador:

  • Abstração: Fornece uma forma unificada de percorrer elementos para diferentes tipos de coleções (listas, conjuntos, etc.).
  • Segurança: Permite remover elementos da coleção durante a iteração sem violar a lógica do percurso.
  • Independência: A passagem pelos elementos não depende da implementação concreta da coleção.

A interface Iterator<E> define três métodos principais:

  • hasNext(): Retorna true se ainda houver elementos na iteração.
  • next(): Retorna o próximo elemento na iteração.
  • remove(): Remove da coleção base o elemento retornado pela última chamada a next().

Exemplo de uso:

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

// Exemplo de uso do iterador
public class IteratorExample {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        Iterator<String> iterator = list.iterator();

        // Percurso de elementos usando o iterador
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // Remoção de elemento durante a iteração (exemplo)
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        System.out.println("Lista após remoção: " + list);
    }
}