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