জাভাতে কালেকশন অবজেক্টের কন্টেন্ট রিট্রিভ বা ট্রাভার্স করার मुख্য তিনটি পদ্ধতি রয়েছে।
১. ফর-ইচ লুপ (Enhanced For Loop)
সबसे সহজ এবং পঠনযোগ্য পদ্ধতি। এটি সিকোয়েনশিয়ালি সব এলিমেন্ট ট্রাভার্স করে।
উদাহরণ
import java.util.ArrayList;
public class RetrievingData {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("JavaFX");
list.add("Java");
list.add("WebGL");
list.add("OpenCV");
list.add("OpenNLP");
list.add("JOGL");
list.add("Hadoop");
list.add("HBase");
list.add("Flume");
list.add("Mahout");
list.add("Impala");
System.out.println("Contents of the array list: ");
for (String e : list) {
System.out.println(e);
}
}
}
আউটপুট
Contents of the array list: JavaFX Java WebGL OpenCV OpenNLP JOGL Hadoop HBase Flume Mahout Impala
২. ইটারেটর (Iterator) এবং লিস্ট ইটারেটর (ListIterator)
hasNext(): পরবর্তী এলিমেন্ট আছে কিনা চেক করে।next(): পরবর্তী এলিমেন্ট রিটার্ন করে।hasPrevious()&previous(): (শুধু ListIterator-এ) পिछonneur এলিমেন্টের জন্য।
উদাহরণ
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class RetrievingData {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
// ...'éléments add করা (উপরের মতো)
// ফরওয়ার্ড ট্রাভার্সাল (Iterator)
System.out.println("Contents (first to last):");
Iterator<String> it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
// ব্যাকওয়ার্ড ট্রাভার্সাল (ListIterator)
System.out.println("Contents (last to first):");
ListIterator<String> lit = list.listIterator();
while(lit.hasNext()) lit.next(); // آخرে যান
while(lit.hasPrevious()) {
System.out.println(lit.previous());
}
}
}
আউটপুট
Contents of the array list (first to last): JavaFX Java WebGL OpenCV OpenNLP JOGL Hadoop HBase Flume Mahout Impala Contents of the array list (last to first): Impala Mahout Flume HBase Hadoop JOGL OpenNLP OpenCV WebGL Java JavaFX
৩. এনুমেরেশন (Enumeration) - লিগ্যাসি (Legacy)
Vector, Hashtable gibi পুরানো ক্লাসের জন্য। hasMoreElements() এবং nextElement() মেথড ব্যবহার করে।
উদাহরণ
import java.util.Enumeration;
import java.util.Vector;
public class EnumerationExample {
public static void main(String args[]) {
Vector<Integer> vec = new Vector<Integer>();
vec.add(1254); vec.add(4587); vec.add(5211);
vec.add(4205); vec.add(1124); vec.add(8115);
Enumeration<Integer> en = vec.elements();
while(en.hasMoreElements()) {
System.out.println(en.nextElement());
}
}
}
আউটপুট
1254 4587 5211 4205 1124 8115
সুপারিশ: আধুনিক জাভাতে (Java 5+) ফর-ইচ লুপ সবচেয়ে ভালো। রিমুভাল বা বাই-ডিরেকশনাল ট্রাভার্সালের জন্য ListIterator ব্যবহার করুন। Enumeration এখন প্রায় অপ্রচলিত।