नमस्ते मैं सोच रहा हूं कि यदि आपके पास जिस ऑब्जेक्ट की तलाश है, उसके लिए हैशकोड है तो हैशसेट को सीधे एक्सेस करना संभव है, हैश मैप में एक हैशकोड का उपयोग करने की तरह।हैशकोड का उपयोग कर हैशसेट को सीधे एक्सेस करना? (जावा)
मैं कल्पना इसे इस तरह एक तरह से कुछ काम कर सकते हैं:
MyObject object1 = new MyObject(1);
Set<MyObject> MyHashSet = new HashSet<MyObject>();
MyHashSet.add(object1)
int hash = object1.getHashCode
MyObject object2 = MyHashSet[hash]???
धन्यवाद!
संपादित करें: उत्तर के लिए धन्यवाद। ठीक है, मैं समझता हूं कि मैं हैशसेट के अनुबंध को थोड़ा सा धक्का दे सकता हूं, लेकिन इस विशेष परियोजना समानता के लिए हैशकोड द्वारा पूरी तरह से निर्धारित किया गया है और मुझे यह सुनिश्चित करने के लिए पता है कि हैशकोड/हैशबकेट प्रति केवल एक वस्तु होगी। हैश मैप का उपयोग करने के लिए मैं बहुत अनिच्छुक था क्योंकि मुझे इंटीग्रेट ऑब्जेक्ट्स के साथ मैपिंग करने वाले आदिम इन्ट्स को कन्वर्ट करने की आवश्यकता होगी क्योंकि हैश मैप केवल ऑब्जेक्ट्स के रूप में ऑब्जेक्ट्स लेता है, और मैं भी चिंतित हूं कि इससे प्रदर्शन प्रभावित हो सकता है। क्या ऐसा कुछ और है जो मैं कुछ ऐसा करने के लिए कर सकता था?
नहीं, यह संभव नहीं है। तुमने ऐसा क्यों करना चाहोगे? ऐसा लगता है कि आप एक नक्शा चाहते हैं। –
ऐसी कोई सार्वजनिक एपीआई नहीं। और यहां तक कि अगर वहां था, तो यह हैश कोड टकराव के रूप में कई वस्तुओं को वापस कर सकता है। – Thilo
ऑब्जेक्ट को इस तरह से प्राप्त करना संभव नहीं है। यह समझ में आता है क्योंकि दो अलग-अलग ऑब्जेक्ट्स में एक ही हैशकोड हो सकता है लेकिन यह बराबर नहीं हो सकता है। हैशसेट आंतरिक रूप से बराबर विधि के साथ दो ऑब्जेक्ट्स की तुलना करता है यदि उनके हैशकोड मैचों। – BatScream