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

জাভা-তে ArrayList ইনিশিয়ালাইজেশন: একটি গাইড

জাভা Arrays.asList() মেথড এবং ArrayList ক্লাস জাভা-তে অ্যারে ইনিশিয়ালাইজ করতে ব্যবহৃত হয়। সাধারণ List ইন্টারফেস অ্যারে তৈরি করতে ব্যবহার করা যাবে না, তাই ArrayList ক্লাস একটি খালি অ্যারে তৈরি করতে বাধ্যতামূলক। জাভা Arrays.asList() মেথড আমাদের ফলাফল অ্যারেটি সহজে ইনিশিয়ালাইজ করতে দেয়।


একটি অ্যারে লিস্ট ইনিশিয়ালাইজ করা মানে একটি অ্যারেতে মানগুলো একটি সেট অ্যাসাইন করা। জাভা-তে ArrayList নিয়ে কাজ করতে হলে, আপনাকে জানতে হবে কীভাবে একটি ArrayList ইনিশিয়ালাইজ করতে হয়।

সেটিই জাভার Arrays.asList() মেথড কাজে লাগে। Arrays.asList() মেথড আপনাকে জাভা-তে একটি ArrayList ইনিশিয়ালাইজ করতে দেয়।

এই টিউটোরিয়াল উদাহরণসহ এক্সপ্লোর করবে, কীভাবে asList() মেথড ব্যবহার করে জাভা-তে একটি ArrayList ইনিশিয়ালাইজ করতে হয়। এই টিউটোরিয়াল পড়ার পর, আপনি জাভা-তে অ্যারে লিস্ট ইনিশিয়ালাইজ করার এক্সপার্ট হয়ে যাবেন।

জাভা ArrayList

জাভা-তে, List ইন্টারফেস ডেটা সিকোয়েনশিয়ালি সংরক্ষণ করার জন্য ফিচারهای একটি সেট প্রদান করে। যাইহোক, যেহেতু List একটি জাভা কালেকশন ইন্টারফেস, আমরা সরাসরি ইন্টারফেস থেকে একটি লিস্ট তৈরি করতে পারি না—জাভা ইন্টারফেস অবজেক্ট তৈরি করতে ব্যবহার করা যাবে না।

ArrayList একটি জাভা ক্লাস যা List ইন্টারফেস ইমপ্লিমেন্ট করে এবং আমাদের রিসাইজেবল অ্যারে তৈরি করতে দেয়।

জাভা-তে, অ্যারেগুলোর ফিক্সড সাইজ রয়েছে। জাভা-তে একটি অ্যারে ডিক্লেয়ার করার সময়, আপনাকে সেটির সাইজ স্পেসিফাই করতে হয়। একবার সেট করার পর অ্যারের সাইজ পরিবর্তন করা কঠিন।

জাভা-তে অ্যারে রিসাইজ করার কঠিনাইओ সমাধান করার একটি পদ্ধতি হলো ArrayList ক্লাস ব্যবহার করা। ArrayList ক্লাসে সংরক্ষিত অ্যারেগুলো রিসাইজ করা সহজ। তাই ডেভেলপাররা ডেটা অ্যারেতে সংরক্ষণ করার সময় প্রায়শই ArrayList ক্লাস ব্যবহার করে।

ArrayList আমাদের কোডে ব্যবহার করার আগে, আমাদের ArrayList ক্লাস ইম্পোর্ট করতে হবে। একটি জাভা প্রোগ্রামে এই ক্লাস ইম্পোর্ট করার কোড:

import java.util.ArrayList;

এখন যেহেতু আমরা ArrayList ক্লাস ইম্পোর্ট করেছি, আমরা আমাদের কোডে ArrayList তৈরি শুরু করতে পারি। জাভা ArrayList তৈরির সিনট্যাক্স:

ArrayList<Type> arrayName = new ArrayList<>();

আমাদের সিনট্যাক্সের প্রধান কম্পোনেন্টগুলো:

  • ArrayList আমাদের প্রোগ্রামকে একটি অ্যারে লিস্ট তৈরি করতে বলে।
  • Type হলো আমাদের অ্যারে লিস্ট যে টাইপের ডেটা সংরক্ষণ করবে।
  • arrayName হলো আমরা যে অ্যারে লিস্ট তৈরি করছি তার নাম।
  • new ArrayList<>() আমাদের প্রোগ্রামকে ArrayList-এর একটি ইনস্ট্যান্স তৈরি করে arrayName ভেরিয়েবলে অ্যাসাইন করতে বলে।

একবার আমরা একটি ArrayList তৈরি করলে, আমরা সেটি মান দিয়ে ইনিশিয়ালাইজ করা শুরু করতে পারি।

জাভা-তে ArrayList ইনিশিয়ালাইজ করা

জাভা-তে, আপনি সরাসরি অ্যারে ইনিশিয়ালাইজ করতে পারেন। এর মানে, আপনি যখন একটি অ্যারে ডিক্লেয়ার করেন, আপনি সেটি সেই মান দিয়ে অ্যাসাইন করতে পারেন যেগুলো আপনি সেটিতে রাখতে চান। যাইহোক, ArrayList-এ এই ক্ষেত্রে সেটি সত্য নয়।

যখন আপনি ArrayList-এ কাজ করছেন, আপনি সাধারণত add() ব্যবহার করে মান যোগ করেন। উদাহরণস্বরূপ, নিচের কোড একটি প্রোগ্রাম দেখাচ্ছে যা London মানটি একটি সিটির ArrayList-এ যোগ করে:

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        ArrayList<String> cities = new ArrayList<>();
        cities.add("London");
        System.out.println("Cities: " + cities);
    }
}

আমাদের কোড ফেরত দেবে:

Cities: [London]

এই মেথড ঠিকই কাজ করে যদি আমরা একটি ArrayList-এ কয়েকটি মান যোগ করতে চাই। কিন্তু যদি আমরা একটি বিদ্যমান অ্যারে থেকে ২০টি মান একটি ArrayList-এ যোগ করতে চাই?

আমরা Arrays.asList() মেথড ব্যবহার করে ArrayList-এ অ্যারে ইনিশিয়ালাইজেশন লিমিটেশন বাইপাস করতে পারি এবং আমাদের ArrayList-এ ডিফল্ট মানগুলোর একটি সেট দিতে পারি।

asList() মেথডের সিনট্যাক্স নিচেররূপ:

Arrays.asList(item1, item2, item3);

asList() মেথড যেকোনো সংখ্যক প্যারামিটার এক্সেপ্ট করে, নির্ভর করে আপনি আপনার ArrayList-এ কতগুলো মান যোগ করতে চান।

asList() মেথড একশনে দেখানোর জন্য একটি উদাহরণ দিয়ে চলি।

ধরুন, আমরা একটি প্রোগ্রাম তৈরি করছি যা গত আট সপ্তাহে প্রতিটি সপ্তাহে সবচেয়ে বেশি গোল্ড স্টার জিতেছে সেই ছাত্রদের নামের তালিকা সংরক্ষণ করবে। add() মেথড ব্যবহার করে আটজন ছাত্র যোগ করার বদলে, আমরা asList() ব্যবহার করে আটটি মান দিয়ে একটি লিস্ট ইনিশিয়ালাইজ করতে পারি।

গত আট সপ্তাহে প্রতিটি সপ্তাহে সবচেয়ে বেশি গোল্ড স্টার জিতেছে সেই ছাত্রদের তালিকা ইনিশিয়ালাইজ করার কোড:

import java.util.ArrayList;
import java.util.Arrays;
class Main {
    public static void main(String[] args) {
        ArrayList<String> students = new ArrayList<>(Arrays.asList("Paul", "David", "Lisa", "Alyssa", "Alex", "Ronald", "Todd", "Hope"));
        System.out.println("Students: " + students);
    }
}

আমাদের কোড ফেরত দেবে:

Students: [Paul, David, Lisa, Alyssa, Alex, Ronald, Todd, Hope]

আমাদের কোড ব্রেকডাউন করি। আমরা প্রথমে একটি ArrayList—students নামে—ঘোষণা করেছি যা স্ট্রিং মান সংরক্ষণ করতে পারে। আমরা এই ArrayList-কে ডিফল্ট মানগুলোর একটি সেট দিয়ে ইনিশিয়ালাইজ করতে নিচের কোড ব্যবহার করেছি:

new ArrayList<>(Arrays.asList("Paul", "David", "Lisa", "Alyssa", "Alex", "Ronald", "Todd", "Hope"));

এই কোডে, আমরা আট এলিমেন্টের একটি অ্যারে তৈরি করেছি। তারপর, আমরা asList() মেথড ব্যবহার করেছি সেই এলিমেন্টের লিস্টকে একটি ArrayList-এ কনভার্ট করতে।

এই পদ্ধতিতে ArrayList ইনিশিয়ালাইজ করা আট আলাদা add() স্টেটমেন্ট ব্যবহার করে আমাদের ArrayList-এ মান যোগ করার চেয়ে পড়া সহজ।

উপসংহার

জাভা ডেভেলপাররা Arrays.asList() মেথড ব্যবহার করে একটি ArrayList ইনিশিয়ালাইজ করে। asList() ব্যবহার করে আপনি একটি অ্যারে ডিফল্ট মানগুলোর একটি লিস্ট দিয়ে পপুলেট করতে পারেন। এটি একাধিক add() স্টেটমেন্ট ব্যবহার করে একটি ArrayList-এ ডিফল্ট মানগুলোর একটি সেট যোগ করার চেয়ে আরও দক্ষ হতে পারে।

এই টিউটোরিয়াল উদাহরণসহ আলোচনা করেছে, জাভা-তে ArrayList কীভাবে ইনিশিয়ালাইজ করতে হয়। এখন আপনি জাভা-তে ArrayList প্রফেশনালের মতো ইনিশিয়ালাইজ করার জ্ঞান অর্জন কর चुके!

  1. ক্রোমে জাভা সক্ষম করার পদ্ধতি

  2. উইন্ডোজ ১০, ৮, ৭-এ Java আনইনস্টল করার পদ্ধতি

  3. জাভাতে এক্সেপশন কীভাবে রি-থ্রো (rethrow) করবেন?

  4. জাভাতে JSON পার্সিং: জনপ্রিয় লাইব্রেরি সহ পূর্ণাঙ্গ গাইড