foreach-Iterable
implements Iterable
实现Iterable接口后,这个类就可以直接使用for-each遍历
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class ReversibleBArrayList<T> extends ArrayList<T> implements Iterable<T> {
private int current = 0;
public ReversibleBArrayList(Collection<? extends T> c) {
super(c);
current = size() - 1;
}
public Iterator<T> iterator() {
return new Iterator<T>() {
@Override
public boolean hasNext() {
return current > -1;
}
@Override
public T next() {
return get(current--);
}
};
}
}
调用端入口
public class ReversibleArrayListBTest {
public static void main(String[] args) {
List<String> myList = new ArrayList<>();
myList.add("a");
myList.add("b");
myList.add("c");
ReversibleBArrayList<String> reverList = new ReversibleBArrayList(myList);
for (String tempStr : reverList) {
System.out.println(tempStr);
}
}
}