反向列表
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class ReverseList<T> extends ArrayList<T>{
private static final long serialVersionUID = 1L;
public ReverseList(Collection<T> c){ super(c);}
public Iterable<T> reversed(){
return new Iterable<T>() {
@Override
public Iterator<T> iterator() {
return new Iterator<T>() {
private int index = size()-1;
@Override
public boolean hasNext() {
return index>=0;
}
@Override
public T next() {
return get(index--);
}
};
}
};
}
}
测试代码
import java.util.ArrayList;
import java.util.Iterator;
public class ReverseListTest {
public static void main(String[] args) {
ArrayList<String> wl = new ArrayList<String>();
for(int i = 0; i<10; i++){
wl.add("str"+i);
}
ReverseList<String> rl = new ReverseList<String>(wl);
Iterator<String> itr = rl.reversed().iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
1161

被折叠的 条评论
为什么被折叠?



