জাভাতে ArrayList [এরে লিস্ট] ও এর ব্যবহার।

[কিছু ইংরেজী শব্দের সঠিক অর্থ না জানার কারনে তা সরাসরী লেখা হয়েছে]

আমরা C বা C++ এ ডাইনামিক ভাবে এরে ডিক্লেয়ার করতে পারতাম। [ C বা C++ না জানলে ও সমস্যা নেই, সময় নষ্ট করে এখন আবার C বা C++ শেখার জন্য দোড়াদৌড়ি করা লাগবে না,। জাভা একটি চমৎকার প্রোগ্রামিং ল্যাঙ্গুয়েজ]

জাভাতে ডাইনামিক ভাবে এরে ডিক্লেয়ার করা যায় না। জাভাতে সাধারন এরে ডিক্লেয়ার করার পর তা আর পরিবর্তন করা যায় না। তাই আগেই জানতে হয় আমাদের এরের সাইজ কতটুকু হবে, আবার এরে সাইজ না জানলে ছোট হয়ে গেলে রানটাইমে এরর দেখা দেবে। আবার বেশি বড় এরে নিলে আমাদের মহা মূল্যবান মেমরীর একটা নির্দিষ্ট অংশ খেয়ে বসে থাকবে। জাভাতে ডাইনামিক ভাবে এরে ডিক্লেয়ার করার জন্য ArrayList ব্যবহার করা হয়। ArrayList নিজে নিজে রানটাইমে বাড়োতে পারে। আবার ArrayList  থেকে কোন উপাদান রিমুভ করলে ArrayList  নিজে নিজে আবার ছোট হয়ে যায়। আর এটাই এরে লিস্ট এর প্রধান সুবিধা।

এখানে ছোট্ট একটা উদাহরন দেওয়া হয়েছে এরে লিস্ট এর। এর আরো অনেক গুলো মেথড রয়েছে। তার জন্য নিছে যুক্ত করা লিঙ্ক গুলো ভিজিট করে জেনে নেওয়ার অনুরোধ থাকল।

import java.util.ArrayList;
public class ArrayListExample {
    public static void main(String[] args) {
        ArrayList al = new ArrayList();
        al.add("C");
        al.add("A");
        al.add("E");
        al.add("B");
        al.add("D");
        al.add("F");
        System.out.println("Size of Array List: " +al.size());
        System.out.println("Contents of Array List: " + al);
    }
}

আরেক ভাবেও এরে লিস্টে ইলিমেন্ট যোগ করা যায়, আর তা হচ্ছে ইনডেক্স দিয়ে। add(0, “X”); মানে হচ্ছে এরে লিস্টের প্রথম ইনডেক্সে “X” যুক্ত করা। তেমনি
add(1, “Y”); মানে হচ্ছে এরেলিস্টের দ্বিতীয় ইনডেক্সে Y যুক্ত করা। আপনি হয়তো জানার কথা যে এরেতে ইনডেক্স শুরু হয় ০ থেকে। পরের ইনডেক্স ১ তারপরের ইনডেক্স ২ ইত্যাদি। আবার যদি ইনডেক্স কি তা যদি জিজ্ঞেস করেন তাহলে ইনডেক্স হচ্ছে ঘর, এরে লিস্টের প্রতিটি ছোট ছোট ঘর ই হচ্ছে এক একটি ইনডেক্স।
আর তাই add(2, “Z”); মানে হচ্ছে এরে লিস্টের তৃতীয় ইনডেক্সে “Z” যোগ করা।
আপনি এখন remove(); মেথড ব্যবহার করার চেষ্টা করুন।
হিন্টসঃ al.remove(“A”); দিলে এরে লিস্ট থেকে “A” খুজে রিমুভ করবে। আরেক ভাবে রিমুব করা যায় আর তা হচ্ছে ভালো পদ্ধতি, আপনি এরে ইনডেক্স দিয়ে ও রিমুভ করতে পারেনঃ al.remove(2); এ ক্ষেত্রে দুই নং ইনডেক্স থেকে ইলিমেন্টটি রিমুভ করবে।
আর তা হচ্ছে “E”

indexOf();
এরেলিস্টের একটি ইলিমেন্টএর ইনডেক্স জানার জন্য indexOf(); মেথড ব্যবহার করা হয়। যেমন যদি আমরা উপরের পোগ্রামের F এর ইনডেক্স বের করতে চাই, তাহলে তার জন্য লিখতে হবেঃ al.indexOf(“F”); তাহলে আমাদেরকে F এরের কত নং ইনডেক্সে আছে তা রিটার্ন করবে। আপনি নিচের কোডোটা উপরের প্রোগ্রামে এড করলে আরেকটু ভালো বুঝতে পারবেন।

 int x=al.indexOf("F");
        System.out.println("Index of F is: " + x);

এরে লিস্টের আরো কিছু প্রয়োজনীয় মেথড।

  • isEmpty(); মেথড নিয়ে এরেলিস্ট খালি কিনা তা চেক করা হয়। এটি শুধু মাত্র ০ অথবা ১ বা সত্য বা মিত্যে রিটার্ন করবে।
  • clear(); মেথড দিয়ে এরেলিস্টকে খালি করার জন্য ব্যবহার করা হয়।
  • clone(); নাম শুনেই বুঝা যাচ্ছে এর কি কাজ। clone(); মেথড দিয়ে একটি এরেলিস্ট কপি করার জন্য ব্যবহৃত হয়।
  • get(); মেথড দিয়ে একটি ইনডেক্স এর ইলিমেন্ট সরাসরী পাওয়া যায়।get(5); কল করলে ৬ নং ইনডেক্সের ইলিমেন্ট টি পাওয়া যাবে।


একটা কথা মনে পড়ে গেলো, এরে লিস্টের কিন্তু আরো অনেক গুলো সুবিদা রয়েছে, আমি নিজেও ভালো জানি না।আরেকদিন হয়তো লেখা হবে এটা নিয়ে, তার আগে আমি শিখে নি ভালো করে 🙂 …
আমি এত ভালো প্রোগ্রামার না যে আমার লেখা আপনাদের কাজে দিবে। আমি আজ পর্যন্ত কোন প্রোগ্রামিং কনটেস্টে যোগ দি নি। লেখা গুলো একটুও যদি কাজে আসে তাহলে আমার অনেক ভালো লাগবে।
ধন্যবাদ সবাইকে, শুভ প্রোগ্রামিং।
ট্যাগ গুলোঃ জাভা, জাভা প্রোগামিং, এরে লিস্ট, জাভা এপিআই, এরে, আর হাবি জাবি।

6 thoughts on “জাভাতে ArrayList [এরে লিস্ট] ও এর ব্যবহার।

    1. তাহলে আমার লেখাতে সমস্যা। আমি ব্যর্থ লেখক 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *