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

জাভাতে অ্যারে (Array) এর এলিমেন্টগুলো ইমিউটেবল (Immutable) কীভাবে করবেন?

সিডি বলতে গেলে, জাভাতে আপনি সরাসরি অ্যারের এলিমেন্টগুলো ইমিউটেবল করতে পারবেন না। অ্যারে জাভাতে মিউটেবল (Mutable) ডেটা স্ট্রাকচার।

তবে java.util.Collections ক্লাসের unmodifiableList() মেথড ব্যবহার করে একটি লিস্টকে অনমোডিফাইবল (Unmodifiable/Read-only) করা যায়। আর Arrays.asList() মেথড ব্যবহার করে অ্যারেকে লিস্টে রূপান্তর করা যায়। এই দুটি মেথড কম্বাইন করে অ্যারেকে কার্যকরভাবে ইমিউটেবল করা যায়।

পদ্ধতি

  1. ঐচ্ছিক অ্যারে তৈরি করুন।
  2. Arrays.asList() ব্যবহার করে এটিকে লিস্ট অবজেক্টে রূপান্তর করুন।
  3. Collections.unmodifiableList() মেথডে লিস্টটি পাস করে অনমোডিফাইবল লিস্ট পান।

উদাহরণ

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class UnmodifiableExample {
    public static void main(String args[]) {
        // স্ট্রিং অ্যারে তৈরি
        String strArray[] = {"Raju", "Rama", "Rahman", "Rachel", "Ranbhir", "Rangan"};

        // অ্যারেকে লিস্টে রূপান্তর
        List<String> list = Arrays.asList(strArray);

        // লিস্টকে ইমিউটেবল/অনমোডিফাইবল করা
        List<String> immutable = Collections.unmodifiableList(list);
        System.out.println(immutable);

        // মডিফাই করার চেষ্টা করলে এক্সেপশন
        immutable.add("komala"); // UnsupportedOperationException
    }
}

আউটপুট

[Raju, Rama, Rahman, Rachel, Ranbhir, Rangan]
Exception in thread "main" java.lang.UnsupportedOperationException
    at java.util.Collections$UnmodifiableCollection.add(Unknown Source)
    at UnmodifiableExample.main(UnmodifiableExample.java:19)

দ্রষ্টব্য: এটি অ্যারেকে সরাসরি ইমিউটেবল করে না, বরং এর একটি রিড-অনলি লিস্ট ভিউ তৈরি করে। মূল অ্যারেটি এখনও মিউটেবল থাকে। যদি আপনাকে আসলেই ইমিউটেবল ডেটা স্ট্রাকচার দরকার হয়, তবে List.of() (Java 9+) বা 써드-পার্টি লাইব্রেরি (যেমন Guava's ImmutableList) ব্যবহার করুন।

  1. জাভাতে Vector ক্লাসের ব্যবহার

  2. জাভা স্ট্রিংকে চার অ্যারে-তে কনভার্ট করার পদ্ধতি

  3. অ্যান্ড্রয়েডে অ্যারে এলিমেন্ট সর্ট করার পদ্ধতি

  4. এন্ড্রয়েডে Volley এলিমেন্টগুলো ArrayList-এ পাওয়ার উপায়