목록에서 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)