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

জাভাতে EnumMap ক্লাস


java.util.EnumMap ক্লাস হল একটি স্পেশালাইজড Map ইম্প্লিমেন্টেশন যা enum কি-সহ ব্যবহারের জন্য। EnumMap সম্পর্কে গুরুত্বপূর্ণ পয়েন্টগুলো নিচে দেওয়া হল −

  • এনাম ম্যাপের সব কি একটি একক enum টাইপ থেকে আসতে হবে যা ম্যাপ তৈরি করার সময় স্পষ্ট বা নিহিতভাবে নির্দিষ্ট করা হয়।

  • এনাম ম্যাপগুলো তাদের কি-র ন্যাচারাল অর্ডারে মেইনটেইন করা হয়।

  • EnumMap সিঙ্ক্রোনাইজড নন। যদি একাধিক থ্রেড একসাথে একটি এনাম ম্যাপ অ্যাক্সেস করে এবং অন্তত একটি থ্রেড ম্যাপটি মডিফাই করে, তবে এটি এক্সটার্নালি সিঙ্ক্রোনাইজ করা উচিত।

EnumMap ক্লাসের কনস্ট্রাক্টরগুলো নিচে দেওয়া হল −

Sr.No Constructor & Description
1 EnumMap(Class<K> keyType)
এই কনস্ট্রাক্টর নির্দিষ্ট কি টাইপের সাথে একটি খালি enum ম্যাপ তৈরি করে।
2 EnumMap(EnumMap<K,? extends V> m)
এই কনস্ট্রাক্টর নির্দিষ্ট enum ম্যাপের মতো একই কি টাইপের সাথে একটি enum ম্যাপ তৈরি করে, প্রাথমিকভাবে একই ম্যাপিংস থাকলে (যদি থাকে)।
3 EnumMap(Map<K,? extends V> m)
এই কনস্ট্রাক্টর নির্দিষ্ট ম্যাপ থেকে আরম্ভ করা একটি enum ম্যাপ তৈরি করে।

উদাহরণ

একটি উদাহরণ দেখা যাক −

import java.util.EnumMap; 
public class Demo { 
    // একটি enum তৈরি করা 
    public enum Numbers { 
        ONE, TWO, THREE, FOUR, FIVE 
    }; 
    public static void main(String[] args) { 
        EnumMap<Numbers, String> map1 = new EnumMap<Numbers, String>(Numbers.class); 
        EnumMap<Numbers, String> map2 = new EnumMap<Numbers, String>(Numbers.class); 
        // map1-এ মান সংযুক্ত করা 
        map1.put(Numbers.ONE, "1"); 
        map1.put(Numbers.TWO, "2"); 
        map1.put(Numbers.THREE, "3"); 
        map1.put(Numbers.FOUR, "4"); 
        // পুরো ম্যাপ প্রিন্ট করা 
        System.out.println("map1:" + map1); 
        // map1 কে map2-এ ক্লোন করা 
        map2 = map1.clone(); 
        // map2 প্রিন্ট করা 
        System.out.println("map2:" + map2); 
    } 
}

আউটপুট

map1:{ONE=1, TWO=2, THREE=3, FOUR=4} 
map2:{ONE=1, TWO=2, THREE=3, FOUR=4}

উদাহরণ

আরেকটি উদাহরণ দেখা যাক যেখানে আমরা ম্যাপে কি-ভ্যালু ম্যাপিং-এর সংখ্যা দেখাচ্ছি −

import java.util.*; 
public class EnumMapDemo { 
    // একটি enum তৈরি করা 
    public enum Numbers { 
        ONE, TWO, THREE, FOUR, FIVE 
    }; 
    public static void main(String[] args) { 
        EnumMap<Numbers, String> map = new EnumMap<Numbers, String>(Numbers.class); 
        // ম্যাপে মান সংযুক্ত করা 
        map.put(Numbers.ONE, "1"); 
        map.put(Numbers.TWO, "2"); 
        map.put(Numbers.THREE, "3"); 
        map.put(Numbers.FOUR, "4"); 
        // ম্যাপ প্রিন্ট করা 
        System.out.println("Map: " + map); 
        // এই ম্যাপের ম্যাপিং-এর সংখ্যা প্রিন্ট করা 
        System.out.println("Number of mappings:" + map.size()); 
        // Numbers.THREE থেকে ভ্যালু রিমুভ করা 
        map.put(Numbers.FIVE, "5"); 
        // এই ম্যাপের নতুন ম্যাপিং-এর সংখ্যা প্রিন্ট করা 
        System.out.println("Number of mappings:" + map.size()); 
    } 
}

আউটপুট

Map: {ONE=1, TWO=2, THREE=3, FOUR=4} 
Number of mappings:4 
Number of mappings:5

  1. জাভাতে ফাইনাল ক্লাস

  2. জাভাতে final কীওয়ার্ড

  3. জাভাতে super কীওয়ার্ড

  4. জাভাতে এগ리게েশন