public static Iterator reverse(List list) {
12. Collections.reverse(list);
13. return list.iterator();
14. }
15. public static void main(String[] args) {
16. List list = new ArrayList();
17. list.add("1"); list.add("2"); list.add("3");
18. for (Object obj: reverse(list))
19. System.out.print(obj + ", ");
20. }
Esse codigo da um erro de compilaçao na linha 18, pq o método reverse retorna um iterator como o foreach atribui a uma variavel o elemento corrente de uma lista, nao teria como acontecer essa atribuiçao na linha 18 pois o iterator não tem esses elementos.
Pessoal minha conclusão esta certa ou errada sobre este exercicio? Ou to errado?
vc só pode utilizar o foreach para interar arrays e objetos que implementam a interface Iterable…
o método reverse retorna um Iterator e Iterator não implementa a interface Iterable…