如何在Java中获取列表的反向列表视图?
2022-08-31 05:43:02
我希望在列表上有一个反向列表视图(与在列表上提供子列表视图的方式类似)。是否有某些功能提供此功能?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(); }
};
}
};
}
我刚刚发现一些实现具有我需要的。虽然 没有针对 的一般此类实现。这有点奇怪,因为我看到的实现足够通用,可以与任何.List
descendingIterator()
List
LinkedList
List