मैं एक सूची पर एक उल्टा सूची दृश्य रखना चाहता हूं (इसी तरह List#sublist
एक सूची पर एक सबलिस्ट दृश्य प्रदान करता है)। क्या कोई फ़ंक्शन है जो इस कार्यक्षमता प्रदान करता है?
मैं सूची की किसी भी प्रकार की प्रतिलिपि नहीं बनाना चाहता और न ही सूची को संशोधित करना चाहता हूं।
यह पर्याप्त होगा यदि मैं इस मामले में एक सूची में कम से कम रिवर्स पुनरावृत्ति प्राप्त कर सकता हूं।
इसके अलावा, मुझे पता है कि इसे कैसे लागू करना है। मैं सिर्फ यह पूछ रहा हूं कि क्या जावा पहले से ही ऐसा कुछ प्रदान करता है।
डेमो कार्यान्वयन:
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)