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:
Não sei se entendi bem a sua dúvida, vejamos se posso te ajudar:
a declaração que utiliza o tipo genérico é para que qualquer lista que seja derivada de Collection possa utilizar este recurso.
Collection<? extends Object> colecao
Com relação a chamada do método, você pode observar que é uma sobrecarga e que a VM irá decidir por um outro de acordo com o tipo do parametro passado.
então o primeiro método recebe a coleção e chama o outro método com o mesmo nome passando um objeto iterator.
o Segundo método é recursivo, então o primeiro elemento relacionado a recursividade é a pilha. E é por isso que a impressão sai em ordem inversa, entenda a lógica:
considere uma coleção com três elementos nesta ordem: A B C
[quote=Dieval Guizelini]Não sei se entendi bem a sua dúvida, vejamos se posso te ajudar:
a declaração que utiliza o tipo genérico é para que qualquer lista que seja derivada de Collection possa utilizar este recurso.
Collection<? extends Object> colecao
Com relação a chamada do método, você pode observar que é uma sobrecarga e que a VM irá decidir por um outro de acordo com o tipo do parametro passado.
então o primeiro método recebe a coleção e chama o outro método com o mesmo nome passando um objeto iterator.
o Segundo método é recursivo, então o primeiro elemento relacionado a recursividade é a pilha. E é por isso que a impressão sai em ordem inversa…
Resolveu a sua dúvida?
[/quote]
Só isso já bastava, muito mais do que resolvido…esse é o verdadeiro post cinco estrelas