একটি অপরিবর্তনযোগ্য মানচিত্র যার কী এবং মান যোগ করা যাবে না , সরানো হয়েছে , অথবা আপডেট করা হয়েছে একবার একটি মানচিত্রের একটি অপরিবর্তনীয় উদাহরণ তৈরি করা হয়েছে। স্ট্যাটিক ফ্যাক্টরি পদ্ধতি:Map.of() এবং Map.ofEntries() মানচিত্র থেকে যা জাভা 9 এ অপরিবর্তনীয় মানচিত্র তৈরি করার একটি সুবিধাজনক উপায় প্রদান করে .
Map.of() ব্যবহার করে তৈরি করা মানচিত্রের একটি উদাহরণ এবং Map.ofEntries() পদ্ধতির নিম্নলিখিত বৈশিষ্ট্য রয়েছে।
- ফ্যাক্টরি পদ্ধতি দ্বারা ফিরে আসা মানচিত্রটি প্রচলিতভাবে অপরিবর্তনীয় . এর মানে হল যে কী এবং মান যোগ করা যাবে না , সরানো হয়েছে , অথবা আপডেট করা . মানচিত্রে যেকোন মিউটেটর পদ্ধতিতে কল করলে একটি UnsupportedOperationException হয় .
- যদি কী/মান থাকে একটি মানচিত্র নিজেই পরিবর্তনযোগ্য , এটি মানচিত্রকে সামঞ্জস্যপূর্ণ আচরণ করতে পারে y অথবা এর বিষয়বস্তু পরিবর্তিত হতে দেখা যাচ্ছে।
- একটি অপরিবর্তনীয় মানচিত্র নাল অনুমোদন করে না কী এবং মান . যদি নাল কী বা মান দিয়ে তৈরি করার কোনো চেষ্টা করা হয়, তাহলে এটি NullPointerException নিক্ষেপ করে। .
- ডুপ্লিকেট কী সৃষ্টির সময়ই প্রত্যাখ্যাত হয়। একটি স্ট্যাটিক ফ্যাক্টরি পদ্ধতিতে ডুপ্লিকেট কী পাস করার ফলে অবৈধ আর্গুমেন্ট এক্সেপশন হয় .
- অপরিবর্তনীয় মানচিত্র ক্রমানুযায়ী যদি সমস্ত কী এবং মান ক্রমানুসারে করা যায়।
- ম্যাপিংয়ের পুনরাবৃত্তির ক্রম হল অনির্দিষ্ট এবং পরিবর্তন সাপেক্ষে।
সিনট্যাক্স
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
at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
at java.base/java.util.ImmutableCollections$AbstractImmutableMap.put(Unknown Source)
at UnmodifiableMapTest.main(UnmodifiableMapTest.java:7) 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}