जावा 9 कारखाना . प्रदान करता है तरीके अपरिवर्तनीय . बनाने के लिए सूचियां , सेट , और मानचित्र . खाली . बनाना उपयोगी हो सकता है या रिक्त नहीं संग्रह वस्तुओं। जावा 8 और पुराने संस्करणों में, हम संग्रह वर्ग उपयोगिता विधियों जैसे unmodifiableXXX . का उपयोग कर सकते हैं अपरिवर्तनीय . बनाने के लिए संग्रह वस्तुओं। अगर हमें एक अपरिवर्तनीय सूची बनाने की आवश्यकता है तो Collections.unmodifiableList() . का उपयोग करें विधि।
ये फ़ैक्टरी विधियाँ हमें अपरिवर्तनीय संग्रहों के आसान आरंभीकरण की अनुमति देती हैं चाहे वे खाली . हों या गैर-रिक्त.
अपरिवर्तनीय सूची का प्रारंभ:
सूची<पूर्णांक> अपरिवर्तनीयEmptyList =List.of();
उपरोक्त में, हमने एक खाली अपरिवर्तनीय . को इनिशियलाइज़ किया है सूची ।
अपरिवर्तनीय सेट का प्रारंभ:
सेट<पूर्णांक> अपरिवर्तनीयEmptySet =Set.of();
उपरोक्त में, हमने एक खाली अपरिवर्तनीय . को इनिशियलाइज़ किया है सेट करें ।
अपरिवर्तनीय मानचित्र का प्रारंभ:
मानचित्र<पूर्णांक, पूर्णांक> अपरिवर्तनीयEmptyMap =Map.of();
उपरोक्त में, हमने एक खाली अपरिवर्तनीय . को इनिशियलाइज़ किया है मानचित्र ।
उदाहरण
आयात करें ]) {सूची <स्ट्रिंग> सूची 8 =नया ऐरेलिस्ट <स्ट्रिंग> (); list8.add ("इंडिया"); list8.add ("ऑस्ट्रेलिया"); list8.add ("इंग्लैंड"); list8.add("न्यूजीलैंड"); सूची<स्ट्रिंग> अपरिवर्तनीय सूची8 =संग्रह।अपरिवर्तनीय सूची (सूची 8); immutableList8.forEach(System.out::println); System.out.println (); सूची <स्ट्रिंग> अपरिवर्तनीय सूची =सूची की ("भारत", "ऑस्ट्रेलिया", "इंग्लैंड", "न्यूजीलैंड"); immutableList.forEach(System.out::println); System.out.println (); सेट करें<स्ट्रिंग> अपरिवर्तनीयसेट =सेट.ऑफ़ ("भारत", "ऑस्ट्रेलिया", "इंग्लैंड", "न्यूजीलैंड"); अपरिवर्तनीयसेट.forEach(System.out::println); System.out.println (); मानचित्र<स्ट्रिंग, स्ट्रिंग> अपरिवर्तनीय मानचित्र =मानचित्र.of ("भारत", "भारत", "ऑस्ट्रेलिया", "ऑस्ट्रेलिया", "इंग्लैंड", "इंग्लैंड", "न्यूजीलैंड", "न्यूजीलैंड"); immutableMap.forEach ((कुंजी, मान) -> System.out.println (कुंजी + ":" + मान)); System.out.println (); }}आउटपुट
INDIAAUSTRALIAENGLANDNEWZEALANDINDIAAUSTRALIAENGLANDNEWZEALANDAUSTRALIAENGLANDNEWZEALANDINDIAऑस्ट्रेलिया:ऑस्ट्रेलियाइंग्लैंड:इंग्लैंडन्यूजीलैंड:न्यूजीलैंडभारत:भारत