我想在列表上有一个反向列表视图(以与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。
Collections.reverse(list)