Ajuda com iterable

4 respostas
Paulo_Dias

Eae pessoal,

to precisando de ajuda com a interface iterable.

tenho uma classe que guarda uma lista e quero usar o for each nela, minha classe é mais ou menos assim:

public class NewClass implements Iterable{

    private ArrayList<Integer> inteiros = new ArrayList<Integer>();

    public Iterator iterator() {
        return inteiros.iterator();
    }

    public static void main( String[] args ) {
        
        NewClass nc = new NewClass();
    
        for( Integer i : nc ) {   // esta dando erro aqui
            System.out.println(i);
        }
    
    }
}

como o ArrayList já retorna um Iterator achei que iria funcionar, mas esta dando erro. Alguém sabe como fazer isso?

4 Respostas

Paulo_Dias

Acho que assim não vai ser possivel mesmo

alguém sabe algum jeito de fazer isso

E

http://docs.oracle.com/javase/6/docs/api/java/lang/Iterable.html

public class NewClass implements Iterable<Integer>{  
  
    private ArrayList<Integer> inteiros = new ArrayList<Integer>();  
  
    public Iterator<Integer> iterator() {  
        return inteiros.iterator();  
    }  
  
    public static void main( String[] args ) {  
          
        NewClass nc = new NewClass();  
      
        for( Integer i : nc ) {   // esta dando erro aqui  
            System.out.println(i);  
        }  
      
    }  
}
Paulo_Dias

entanglement, já tinha lido a documentação, mas ainda assim não sei porque está dando erro.

tambem tentei criar um classe interna que implemetasse Iterable, mas da o mesmo erro

B
import java.util.*;

class ExemploIterable implements Iterable<Integer> {
	private List<Integer> inteiros = new ArrayList<Integer>();
	public ExemploIterable () {
		inteiros.add (1); inteiros.add (2); inteiros.add (3);
	}
    @Override
	public Iterator<Integer> iterator() { return inteiros.iterator(); }
}

class TestadorExemploIterable {
	public static void main (String[] args) {
		ExemploIterable it = new ExemploIterable();
		for (Integer i : it) {
			System.out.println (i);
		}
	}
}
Criado 31 de março de 2012
Ultima resposta 3 de abr. de 2012
Respostas 4
Participantes 3