আমি একটি তালিকায় বিপরীত তালিকার ভিউ রাখতে চাই (একইভাবে List#sublist
তালিকাতে একটি সাবলিস্ট ভিউ সরবরাহ করে)। এই কার্যকারিতা সরবরাহ করে এমন কিছু ফাংশন আছে কি?
আমি তালিকার কোনও ধরণের অনুলিপি তৈরি করতে বা তালিকাটি পরিবর্তন করতে চাই না।
যদিও আমি এই ক্ষেত্রে একটি তালিকায় কমপক্ষে একটি বিপরীত পুনরাবৃত্তি পেতে পারি তা যথেষ্ট হবে।
এছাড়াও, আমি নিজেও এটি বাস্তবায়ন করতে জানি know আমি শুধু জিজ্ঞাসা করছি জাভা ইতিমধ্যে এরকম কিছু সরবরাহ করে কিনা।
ডেমো বাস্তবায়ন:
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)