Bem, a idéia é percorrer uma lista de forma recursiva executando a ação depois de percorrer a lista, a vantagem é que vc não precisa criar um lista tempória e nem mudar os elementos de lugar para percorrer a lista em ordem inversa…a idéia eu entendi, o que eu não entendi foi o código:
Collection<? extends Object> colecao
a implementação completa da recursão
public void imprimeInvertido(Collection<? extends Object> colecao) {
imprimeInvertido(colecao.iterator());
}
private void imprimeInvertido(Iterator<? extends Object> iterator) {
if (iterator.hasNext()) {
Object object = iterator.next();
imprimeInvertido(iterator);
System.out.println(object);
}
}
ps: foi tirado do blog do caelum, mas fiquei com receio de perguntar isso por lá… :oops:
