কম্পিউটার টিউটোরিয়াল

জাভাতে কালেকশনের এলিমেন্টগুলো রিট্রিভ (Retrieve) করার কতগুলো পদ্ধতি আছে?

জাভাতে কালেকশন অবজেক্টের কন্টেন্ট রিট্রিভ বা ট্রাভার্স করার मुख্য তিনটি পদ্ধতি রয়েছে।

১. ফর-ইচ লুপ (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 এখন প্রায় অপ্রচলিত।

  1. জাভাতে মেইন প্যানেলে একাধিক সাব-প্যানেল যোগ করুন

  2. জাভাতে JTextField-এ প্যাডিং যোগ করুন

  3. জাভাতে invokeLater() মেথড কল করার পদ্ধতি

  4. জাভাতে JComboBox-এ আইটেমগুলো সর্ট করা