ฉันต้องการให้มีมุมมองรายการแบบย้อนกลับในรายการ (ในลักษณะที่คล้ายกันกว่าList#sublist
ให้มุมมองรายการย่อยในรายการ) มีฟังก์ชั่นที่ให้ฟังก์ชั่นนี้บ้าง?
ฉันไม่ต้องการทำสำเนารายการหรือแก้ไขรายการ
มันจะเพียงพอถ้าฉันได้อย่างน้อย iterator กลับรายการในกรณีนี้แม้ว่า
นอกจากนี้ฉันรู้วิธีที่จะใช้ตัวเอง ฉันแค่ถามว่า 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)