मैंने एक हैश मैप बनाया जिसमें Student
कुंजी और स्ट्रिंग मान के रूप में है।हैशकोड को ओवरराइड करना और हैशमैप के लिए कुंजी की विधि के बराबर क्यों आवश्यक है?
अब हर जगह मैंने पढ़ा है equals
और hashcode
विधि को ओवरराइड करना आवश्यक है यदि हैशपैप के लिए कुंजी के रूप में उपयोग करना है।
लेकिन मैंने इसे ओवरराइड नहीं किया। और हैशपैप में एकाधिक कुंजी मान जोड़े डालें। मैं इसे वापस लाने में भी सक्षम हूं।
तो यह आवश्यक क्यों है?
आप इन ओवरराइड करने के लिए नहीं है, लेकिन वर्ग आप जैसे का उपयोग 'स्ट्रिंग' को इन्हें ओवरराइड करना है और यह पहले से ही ऐसा करता है। यदि आप अपनी खुद की कुंजी कक्षा बनाते हैं तो आपको केवल ऐसा करने की आवश्यकता होती है। बीटीडब्ल्यू अधिकांश आईडीई इन्हें आपके लिए उत्पन्न कर सकते हैं (इसलिए आपको उन्हें स्वयं लिखने की आवश्यकता नहीं है) –
उस अन्य प्रश्न के उत्तर में से कोई भी विशेष रूप से इस पते को संबोधित नहीं करता है; क्योंकि यह एक डुप्लिकेट नहीं है। ग़लत बंद करने को पूर्ववत करने के लिए कृपया इसे फिर से खोलने के लिए मतदान में शामिल हों। –
@tDavid मैंने केवल सभी उत्तरों को पढ़ने के बाद इस प्रश्न को उठाया। मुझे अपने प्रश्न का उत्तर नहीं मिला। – Raj