Lo más normal es que queramos recorrer una lista de inicio a fin. Pero, quien nos dice que no queramos hacer esto al revés. Es verdad que una opción sería dar la vuelta a la lista y recorrerla normalmente (como explica el artículo Invertir una lista).
Si para recorrer una lista, en Java, hacia delante nos basamos en el método .next() para recorrerla hacía atrás nos basaremos en el método .previous().
Pero antes de todo esto lo que tenemos que hacer es obtener un iterador sobre la lista. El iterador lo obtendremos del último elemento de la lista. El último elemento de la lista nos lo dará el método .size().
ListIterator iter = list.listIterator(list.size());
Controlaremos el inicio de la lista con el método .hasPrevious().
while (iter.hasPrevious())
System.out.println(iter.previous());