লিস্টের আইটারেশন উল্টো দিক থেকে (Reverse List Iteration)
একটি পরিষ্কার for-each লুপ ব্যবহার করে লিস্টের উপাদানগুলোকে উল্টো দিক থেকে আইটারেট করুন।
কোড তুলনা
✕ Java 8
for (ListIterator<String> it =
list.listIterator(list.size());
it.hasPrevious(); ) {
String element = it.previous();
System.out.println(element);
}
✓ Java 21+
for (String element : list.reversed()) {
IO.println(element);
}
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
স্বাভাবিক সিনট্যাক্স
verbose ListIterator-এর পরিবর্তে সহজবোধ্য for-each লুপ ব্যবহার করা হয়।
কোনো কপি হয় না
reversed() একটি ভিউ রিটার্ন করে, তাই পারফরম্যান্সের ওপর কোনো অতিরিক্ত চাপ (overhead) পড়ে না।
সামঞ্জস্যপূর্ণ API
List, Deque, এবং SortedSet-এর মতো কালেকশনগুলোতে একইভাবে কাজ করে।
পুরনো পদ্ধতি
ম্যানুয়াল ListIterator
আধুনিক পদ্ধতি
reversed()
JDK থেকে
21
কঠিনতা
প্রাথমিক
JDK সমর্থন
লিস্টের আইটারেশন উল্টো দিক থেকে (Reverse List Iteration)
উপলব্ধ
JDK 21 LTS (সেপ্টেম্বর 2023) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
SequencedCollection-এর reversed() মেথডটি লিস্টের একটি রিভার্স-অর্ডারড ভিউ (reverse-ordered view) প্রদান করে। এই ভিউটি মূল লিস্টের ওপর ভিত্তি করে তৈরি হয়, তাই কোনো কপি করা হয় না। উন্নত for লুপ সিনট্যাক্স (enhanced for loop syntax) ব্যবহার করে রিভার্স আইটারেশনকে ফরোয়ার্ড আইটারেশনের মতোই পঠনযোগ্য করে তোলে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ