Java 9 में, फ़ैक्टरी विधियाँ संग्रह . में जोड़ दिया गया है एपीआई . हम एक अपरिवर्तनीय . बना सकते हैं सूची, सेट और मानचित्र संग्रह वस्तुओं का उपयोग करके कोड की पंक्तियों की संख्या को कम करने के लिए। List.of(), Set.of(), Map.of() , और Map.ofEntries() स्थिर फ़ैक्टरी विधियां हैं अपरिवर्तनीय . बनाने का सुविधाजनक तरीका प्रदान करता है संग्रह ।
नीचे शर्तें हैं संग्रह फ़ैक्टरी विधियों के लिए:
- वे संरचनात्मक रूप से अपरिवर्तनीय हैं।
- वे अशक्त तत्वों या नल कुंजियों को अस्वीकार करते हैं।
- यदि सभी तत्व क्रमबद्ध हैं, तो वे क्रमबद्ध हैं।
- निर्माण के समय वे डुप्लीकेट तत्वों/कुंजी को अस्वीकार करते हैं।
- सेट तत्वों का पुनरावृत्ति क्रम अनिर्दिष्ट है और परिवर्तन के अधीन है।
- वे मूल्य आधारित हैं। कारखाने नए उदाहरण बनाने या मौजूदा का पुन:उपयोग करने के लिए स्वतंत्र हैं। इसलिए, इन उदाहरणों पर पहचान-संवेदनशील संचालन, पहचान हैश कोड और सिंक्रनाइज़ेशन अविश्वसनीय हैं और इससे बचा जा सकता है।
सिंटैक्स
List.of(elements...)Set.of(elements...)Map.of(k1, v1, k2, v2)
उदाहरण
आयात करें सेट करें<स्ट्रिंग> अपरिवर्तनीयकंट्रीसेट =सेट.ऑफ़ ("भारत", "इंग्लैंड", "दक्षिण अफ्रीका", "ऑस्ट्रेलिया"); System.out.println (अपरिवर्तनीयकंट्रीसेट); कोशिश करें {immutableCountrySet.जोड़ें ("न्यूज़ीलैंड"); } पकड़ (अपवाद ई) { System.out.println ("पकड़ा गया अपवाद, अपरिवर्तनीय संग्रह में प्रविष्टि जोड़ना!"); } }}आउटपुट
Java 9 ने एक स्थिर फ़ैक्टरी पद्धति का परिचय दिया:of()[दक्षिण अफ्रीका, भारत, ऑस्ट्रेलिया, इंग्लैंड] अपवाद को पकड़ा, अपरिवर्तनीय संग्रह में प्रविष्टि जोड़ना!