1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import java.util.Arrays; import java.util.Iterator;
public class ReverseArrayCollection<T> implements Iterable<T> { private T[] array;
public ReverseArrayCollection(T... obj) { this.array = Arrays.copyOfRange(obj, 0, obj.length); }
@Override public Iterator<T> iterator() { return new ReverseIterator(); }
class ReverseIterator implements Iterator<T>{ private int index;
public ReverseIterator() { this.index = ReverseArrayCollection.this.array.length; }
@Override public boolean hasNext() { return index > 0; }
@Override public T next() { index--; return array[index]; } } }
|