Implementação completa da Iterator