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

জাভা ৯-এ অনমডিফাইয়েবল Map তৈরির পদ্ধতি

একটি অনমডিফাইয়েবল Map হলো যার কি (keys) ও ভ্যালু (values) একবার তৈরি হলে যোগ করা, মুছে ফেলা বা আপডেট করা যায় না। স্ট্যাটিক ফ্যাক্টরি মেথড: Map.of() এবং Map.ofEntries() ম্যাপ থেকে যা জাভা ৯-এ অনমডিফাইয়েবল ম্যাপ তৈরি করার সুবিধাজনক পথ প্রদান করে।

Map.of() এবং Map.ofEntries() মেথড ব্যবহার করে তৈরি ম্যাপ ইনস্ট্যান্সের বৈশিষ্ট্যগুলো:

  • ফ্যাক্টরি মেথডগুলো দ্বারা রিটার্নড ম্যাপ প্রথাগতভাবে ইমিউটেবল। অর্থাৎ কি ও ভ্যালু যোগ, মুছে ফেলা বা আপডেট করা যায় না। ম্যাপে যেকোনো মিউটেটর মেথড কল করলে UnsupportedOperationException થ্রো করে।
  • যদি ম্যাপের কন্টেইনড কি/ভ্যালু নিজে মিউটেবল হয়, তবে ম্যাপ অসমসঙ্গত হতে পারে বা এর কন্টেন্ট পরিবর্তিত মনে হতে পারে।
  • ইমিউটেবল ম্যাপ নাল কি ও ভ্যালু অনুমতি দেয় না। নাল কি বা ভ্যালু দিয়ে তৈরি করতে চাইলে NullPointerException থ্রো করে।
  • ডুপ্লিকেট কি তৈরির সময়ই রিজেক্ট করা হয়। স্ট্যাটিক ফ্যাক্টরি মেথডে ডুপ্লিকেট কি পাস করলে IllegalArgumentException হয়।
  • ইমিউটেবল ম্যাপ সিরিয়ালাইজেবল যদি সকল কি ও ভ্যালু সিরিয়ালাইজেবল হয়।
  • ম্যাপিংয়ের ইটারেশন অর্ডার অনস্পেসিফাইড এবং পরিবর্তনশীল।

সিনট্যাক্স

Map.of(k1, v1, k2, v2) Map.ofEntries(entry(k1, v1), entry(k2, v2),...)

Map.of() উদাহরণ

import java.util.Map;

public class UnmodifiableMapTest {
    public static void main(String[] args) {
        Map<String, String> empMap = Map.of("101", "Raja", "102", "Adithya", "103", "Jai", "104", "Chaitanya");
        System.out.println("empMap - " + empMap);
        empMap.put("105", "Vamsi"); // throws UnsupportedOperationException
    }
}

আউটপুট

empMap - {104=Chaitanya, 103=Jai, 102=Adithya, 101=Raja} Exception in thread "main" java.lang.UnsupportedOperationException ...

Map.ofEntries() উদাহরণ

import java.util.Map;
import static java.util.Map.entry;

public class UnmodifidMapTest {
    public static void main(String[] args) {
        Map<String, String> empMap = Map.ofEntries(entry("101", "Raja"), entry("102", "Adithya"), entry("103", "Jai"), entry("104", "Chaitanya"));
        System.out.println("empMap - " + empMap);
    }
}

আউটপুট

empMap - {102=Adithya, 101=Raja, 104=Chaitanya, 103=Jai}
  1. জাভাতে JTable ফিল্টার করুন

  2. জাভাতে সাব মেনুসহ JPopupMenu তৈরির পদ্ধতি

  3. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?

  4. জাভাতে লগইন ফর্ম কীভাবে তৈরি করবেন?