List<Integer> l = new LinkedList<Integer>(); List<Integer> l1 = new LinkedList<Integer>(); l.add(1); l.add(2); l.add(3); l.add(4); ListIterator<Integer> iterator = l.listIterator(l.size()); while(iterator.hasPrevious()) { int i = iterator.previous(); l1.add(i); }