मैं नक्शा डेटास्ट्रक्चर को सीख रहा हूं, मुझे क्या इसे नेस्टेड स्वयं संदर्भित माना जाता है? नहीं यह केवल यह कहता है कि इस पद्धति के परिणाम के रूप में यह समझ में आता है कि दोनों फिर भी, आपको सावधान रहना होगा। इन दोनों विधियों के लिए, जवाडॉक कहता है: सेट को मानचित्र के द्वारा समर्थित किया जाता है, इसलिए नक्शे में परिवर्तन सेट में दिखाई देते हैं, और इसके विपरीत। और यदि आप सावधान नहीं हैं, तो यह परेशानी पैदा कर सकता है। इस उदाहरण को देखो: परिणाम: entrySet () सेट & lt; Map.Entry & lt; K, V & gt; & gt; मानचित्र इंटरफ़ेस के भीतर क्या इसे नेस्टेड स्व संदर्भित माना जाता है? संदर्भ के लिए, यह
java.util.Map & lt; K, V & gt; इंटरफ़ेस की परिभाषा से एक अंश है:
सार्वजनिक इंटरफ़ेस मानचित्र & lt; K, V & gt; {सेट & lt; नक्शा। प्रविष्टि & lt; K, V & gt; & gt; entrySet (); ...}
मानचित्र जो भी हो, एक ऐसा ऑब्जेक्ट उदाहरण होना चाहिए, जो
सेट इंटरफ़ेस का पालन करता है, जो इस
मैप की सामग्री को दर्शाता है < / कोड> प्रविष्टियां यह
.keySet () के साथ समान है।
सेट s, क्योंकि
मैप अद्वितीय () हैं, और ये कुंजियाँ हैं (लेकिन चाबियाँ, आप यह सुनिश्चित करने के लिए जिम्मेदार हैं कि
.equals () /
.hashCode () सम्मानित है)।
सार्वजनिक स्थिर शून्य मुख्य (अंतिम स्ट्रिंग ... आर्ग्स) {अंतिम मानचित्र & lt; स्ट्रिंग, स्ट्रिंग & gt; नक्शा = नया हैशमैप & lt; & gt; (); Map.put ("हैलो", "विश्व"); Map.put ("foo", "bar"); // एक नक्शा प्रविष्टि अंतिम नक्शा बनाएँ। प्रविष्टि & lt; स्ट्रिंग, स्ट्रिंग & gt; एंट्री = नया ऐबस्ट्रैक्टमैप। सिंपलइंट्री & lt; & gt; ("एफू", "बार"); // सेट नक्शा से इसे निकालें। एंटीसेट ()। निकालें (प्रविष्टि); System.out.println ("प्रविष्टि हटाने के बाद:" + मानचित्र); // एक प्रमुख मानचित्र निकालें। कुंजीसेट ()। निकालें ("हैलो"); System.out.println ("कुंजी को हटाने के बाद:" + मानचित्र); }
प्रविष्टि हटाने के बाद: {hello = world} कुंजी को निकालने के बाद: {}
No comments:
Post a Comment