Skip to content

Instantly share code, notes, and snippets.

@massimilianochiodi
Created April 15, 2022 08:48
Show Gist options
  • Save massimilianochiodi/d0875be8a4756050d8e1b9833c5e2315 to your computer and use it in GitHub Desktop.
Save massimilianochiodi/d0875be8a4756050d8e1b9833c5e2315 to your computer and use it in GitHub Desktop.
Reverse order of List / Arraylist ( java )
public class Reversed<T> implements Iterable<T> {
private final List<T> original;
public Reversed(List<T> original) {
this.original = original;
}
@NonNull
public Iterator<T> iterator() {
final ListIterator<T> i = original.listIterator(original.size());
return new Iterator<T>() {
public boolean hasNext() { return i.hasPrevious(); }
public T next() { return i.previous(); }
public void remove() { i.remove(); }
};
}
public static <T> Reversed<T> reversed(List<T> original) {
return new Reversed<T>(original);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment