我想在列表上有一个反向列表视图(以类似的方式List#sublist提供列表上的子列表视图).是否有一些提供此功能的功能?
我不想制作任何类型的列表副本,也不想修改列表.
如果我在这种情况下至少可以在列表上获得反向迭代器就足够了.
另外,我知道如何自己实现这一点.我只是问Java是否已经提供了这样的东西.
演示实施:
static <T> Iterable<T> iterableReverseList(final List<T> l) {
return new Iterable<T>() {
public Iterator<T> iterator() {
return new Iterator<T>() {
ListIterator<T> listIter = l.listIterator(l.size());
public boolean hasNext() { return listIter.hasPrevious(); }
public T next() { return listIter.previous(); }
public void remove() { listIter.remove(); }
};
}
};
}
Run Code Online (Sandbox Code Playgroud)
我刚刚发现某些List实现具有descendingIterator()我需要的功能.虽然没有一般的这样的实现List.这有点奇怪,因为我看到的实现已经LinkedList足够通用了List.