Questao de Collections

2 respostas
S
public class Teste {
	public static Iterator reverse(List list) {
		Collections.reverse(list);
		return list.iterator();
	}

	public static void main(String[] args) {
		List list = new ArrayList();
		list.add(" 1");
		list.add("2");
		list.add("3");
		for (Object obj : reverse(list))
			System.out.print(obj + ",");

	}
}

galera, porque dá erro de compilação nesta parte : "for (Object obj : reverse(list))"

2 Respostas

T

reverse tem de retornar uma classe ou interface que estende Iterable, não Iterator.

R

Como seu método reverse retorna um Iterator ele não funciona com foreach, caso queira manter o Iterator o melhor é trabalhar com a iteração while.

public static Iterator reverse(List list) {  
		Collections.reverse(list);  
		return list.iterator();  
	}  
	
	public static void main(String[] args) {  
		List list = new ArrayList();  
		list.add("1");  
		list.add("2");  
		list.add("3");  
		Iterator it = reverse(list);
		while(it.hasNext()){
			System.out.println(it.next());
		}
	}
Criado 21 de maio de 2009
Ultima resposta 21 de mai. de 2009
Respostas 2
Participantes 3