(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)