Java Collection How to - Iterate through a list in reverse order








Question

We would like to know how to iterate through a list in reverse order.

Answer

import java.util.Iterator;
import java.util.LinkedList;
//  w  w w .j  av a 2 s.co  m
class ReverseIterating<T> implements Iterable<T> {
  private final LinkedList<T> list;

  public ReverseIterating(LinkedList<T> list) {
    this.list = list;
  }

  @Override
  public Iterator<T> iterator() {
    return list.descendingIterator();
  }
}

public class Main {
  public static void main(String... args) {
    LinkedList<String> list = new LinkedList<String>();
    list.add("A");
    list.add("B");
    list.add("C");
    list.add("D");
    list.add("E");

    for (String s : new ReverseIterating<String>(list)) {
      System.out.println(s);
    }
  }
}

The code above generates the following result.