Saya ingin memiliki tampilan daftar terbalik pada daftar (dengan cara yang sama daripada List#sublist
memberikan tampilan sublist pada daftar). Apakah ada beberapa fungsi yang menyediakan fungsi ini?
Saya tidak ingin membuat salinan apa pun dari daftar atau memodifikasi daftar.
Akan cukup jika saya bisa mendapatkan setidaknya iterator terbalik pada daftar dalam kasus ini.
Juga, saya tahu cara mengimplementasikan ini sendiri. Saya hanya bertanya apakah Java sudah menyediakan sesuatu seperti ini.
Implementasi demo:
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(); }
};
}
};
}
Saya baru tahu bahwa beberapa List
implementasi memiliki descendingIterator()
apa yang saya butuhkan. Meskipun tidak ada implementasi seperti umum untuk List
. Yang agak aneh karena implementasi yang saya lihat di LinkedList
cukup umum untuk bekerja dengan siapa pun List
.
Collections.reverse(list)