Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java 9 में कलेक्शन फैक्टरी मेथड्स की शर्तें क्या हैं?


Java 9 में, फैक्टरी मेथड्स को कलेक्शन API में जोड़ा गया है। हम List.of(), Set.of(), Map.of(), और Map.ofEntries() का उपयोग करके अनमॉडिफिएबल लिस्ट, सेट और मैप कलेक्शन ऑब्जेक्ट बना सकते हैं, जो स्टेटिक फैक्टरी मेथड्स हैं जो अपरिवर्तनीय कलेक्शन बनाने का सुविधाजनक तरीका प्रदान करते हैं।

कलेक्शन फैक्टरी मेथड्स के लिए शर्तें नीचे दी गई हैं:

  • वे संरचनात्मक रूप से अपरिवर्तनीय हैं।
  • वे null तत्वों या null कुंजियों की अनुमति नहीं देते हैं।
  • यदि सभी तत्व सीरियलाइज़ेबल हैं तो वे सीरियलाइज़ेबल हैं।
  • वे निर्माण के समय डुप्लिकेट तत्वों/कुंजियों को अस्वीकार करते हैं।
  • सेट तत्वों का इटरेशन क्रम अनिर्दिष्ट है और परिवर्तन के अधीन है।
  • वे मान-आधारित हैं। फैक्टरी नए इंस्टेंस बनाने या मौजूदा इंस्टेंस का पुन: उपयोग करने के लिए स्वतंत्र हैं। इसलिए, इन इंस्टेंस पर पहचान-संवेदनशील ऑपरेशन, पहचान हैश कोड, और सिंक्रनाइज़ेशन अविश्वसनीय हैं और उनसे बचा जाना चाहिए।

सिंटैक्स

List.of(elements...) Set.of(elements...) Map.of(k1, v1, k2, v2)

उदाहरण

import java.util.Set; public class CollectionsTest {    public static void main(String args[]) {       System.out.println("Java 9 Introduced a static factory method: of()");       Set<String> immutableCountrySet = Set.of("India", "England", "South Africa", "Australia"); System.out.println(immutableCountrySet);       try {          immutableCountrySet.add("Newzealand"); } catch(Exception e) { System.out.println("Caught Exception, Adding Entry to Immutable Collection!"); } } }

आउटपुट

Java 9 Introduced a static factory method: of() [South Africa, India, Australia, England] Caught Exception, Adding Entry to Immutable Collection! 

  1. जावा 9 में @Deprecated एनोटेशन में क्या सुधार हैं? जावा 9 में @Deprecated एनोटेशन में क्या सुधार हैं?

    कोई भी तत्व जिसे @Deprecated से एनोटेट किया जा सकता है, यह दर्शाता है कि इस विशेष तत्व का उपयोग निम्नलिखित कारणों से नहीं किया जाना चाहिए: इसका उपयोग करना जोखिम भरा है और त्रुटियों का कारण बन सकता है। भविष्य के संस्करणों में असंगत हो सकता है। भविष्य के संस्करणों में हटाया जा सकता है। एक बेहतर और अध

  1. Java में JTextPane और JEditorPane के बीच क्या अंतर हैं? Java में JTextPane और JEditorPane के बीच क्या अंतर हैं?

    एक JTextPane JEditorPane का एक विस्तार है जो फ़ॉन्ट, टेक्स्ट स्टाइल, रंग आदि जैसे वर्ड प्रोसेसिंग सुविधाएँ प्रदान करता है। यदि हमें भारी-भरकम टेक्स्ट प्रोसेसिंग करने की आवश्यकता है तो हम इस क्लास का उपयोग कर सकते हैं जबकि एक JEditorPane HTML और RTF कंटेंट के प्रदर्शन/संपादन का समर्थन करता है और इसे

  1. - Java में compareTo() और compare() मेथड्स में क्या अंतर है?

    Comparable इंटरफेस ऑब्जेक्ट्स की ऑर्डरिंग के लिए compareTo() मेथड प्रदान करता है। इस ऑर्डरिंग को क्लास की नेचुरल ऑर्डरिंग कहा जाता है और compareTo() मेथड को इसका नेचुरल कम्पैरिजन मेथड कहा जाता है। Comparator इंटरफेस सॉर्टिंग ऑपरेशन्स करने के लिए मेथड्स प्रदान करता है। Comparator इंटरफेस का उपयोग कर