मुख्य सामग्री पर जाएं
मॉड्यूल 6 · पाठ 1 का 2पाठ्यक्रम में 11/14~15 min
मॉड्यूल पाठ (1/2)

सेट और मानचित्र

ArrayList वर्ग (जो तत्वों की एक क्रमबद्ध सूची का प्रतिनिधित्व करता है) से परे, जावा कलेक्शन फ्रेमवर्क दो अन्य मौलिक इंटरफेस प्रदान करता है: सेट (अद्वितीय तत्वों के लिए) और मैप (कुंजी-मूल्य संघों के लिए)।

सेट: अद्वितीय तत्वों का संग्रह

Set एक संग्रह है जिसमें डुप्लिकेट तत्व शामिल नहीं हो सकते। इसका सबसे आम कार्यान्वयन HashSet है, जो आंतरिक रूप से हैश तालिका पर आधारित है, जो सम्मिलन, निष्कासन और उपस्थिति सत्यापन कार्यों के लिए उत्कृष्ट प्रदर्शन की गारंटी देता है।

Java
import java.util.HashSet;
import java.util.Set;

Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present

System.out.println(uniqueNames.size()); // Prints 2

मानचित्र: कुंजी-मूल्य संघ

एक Map अद्वितीय कुंजियों को मानों में मैप करता है। इसमें डुप्लिकेट कुंजियाँ नहीं हो सकतीं: प्रत्येक कुंजी अधिकतम एक मान से संबद्ध होती है। इसका मानक कार्यान्वयन HashMap है।

Java
import java.util.HashMap;
import java.util.Map;

Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);

// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25

// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns true

मानचित्र पर पुनरावृत्त करना

कुंजी-मूल्य जोड़े पर पुनरावृति करने के लिए, हम मानचित्र द्वारा प्रदान की गई प्रविष्टियों के सेट (entrySet()) पर for-each लूप का उपयोग कर सकते हैं।

Java
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}

खुद कोशिश करना

व्यायाम#java.m6.l1.e1
प्रयास: 0लोड हो रहा है...

आइटम नामित स्ट्रिंग्स का हैशसेट घोषित करके कोड को पूरा करें। 'सेब', 'केला' और 'सेब' तत्वों को फिर से जोड़ें, फिर System.out.println का उपयोग करके सेट का आकार प्रिंट करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

याद रखें कि `सेट` में डुप्लिकेट की अनुमति नहीं है, और `items.size()` डाले गए अद्वितीय तत्वों की वास्तविक संख्या लौटाएगा।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#java.m6.l1.e2
प्रयास: 0लोड हो रहा है...

स्ट्रिंग कुंजियों और पूर्णांक मानों के साथ उम्र नामक हैशमैप घोषित करके कोड को पूरा करें। कुंजी 'ऐलिस' को 25 के साथ और कुंजी 'बॉब' को 30 के साथ संबद्ध करें, फिर बॉब की आयु प्राप्त करें और प्रिंट करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

जोड़े सम्मिलित करने के लिए `पुट` विधि का उपयोग करें और कुंजियों के आधार पर मान प्राप्त करने के लिए `प्राप्त` विधि का उपयोग करें।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#java.m6.l1.e3
प्रयास: 0लोड हो रहा है...

यह जाँच कर कोड पूरा करें कि देशों के मानचित्र में 'FR' कुंजी है या नहीं और बूलियन परिणाम प्रिंट करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

आवश्यक कुंजी की उपस्थिति की जांच करने के लिए `देश` ऑब्जेक्ट पर `containsKey` विधि का उपयोग करें।

3 प्रयासों के बाद समाधान उपलब्ध है