diego-gomez-olvera
03/01/2018, 10:48 AM@Nonnull
public static <T> Iterable<T> reverseIteration(List<T> list) {
if (list.isEmpty()) {
return Collections.emptyList();
}
return () -> new Iterator<T>() {
@Nonnull
ListIterator<T> innerIterator = list.listIterator(list.size());
@Override
public boolean hasNext() {
return innerIterator.hasPrevious();
}
@Override
public T next() {
return innerIterator.previous();
}
@Override
public void remove() {
innerIterator.remove();
}
};
}
Can be replaced by CollectionsKt.asReversed(list)