जावा में बराबर और हैशकोड के बीच अंतर

विषयसूची:

जावा में बराबर और हैशकोड के बीच अंतर
जावा में बराबर और हैशकोड के बीच अंतर

वीडियो: जावा में बराबर और हैशकोड के बीच अंतर

वीडियो: जावा में बराबर और हैशकोड के बीच अंतर
वीडियो: जावा में बराबर और हैशकोड अनुबंध [महत्वपूर्ण जावा साक्षात्कार प्रश्न] | कोड डिकोड 2024, जुलाई
Anonim

मुख्य अंतर - जावा में बराबर बनाम हैशकोड

बराबर==ऑपरेटर के समान है, जो वस्तु समानता के बजाय वस्तु पहचान के लिए परीक्षण करना है। हैशकोड एक ऐसी विधि है जिसके द्वारा एक वर्ग स्पष्ट रूप से या स्पष्ट रूप से कक्षा के एक उदाहरण में संग्रहीत डेटा को एक हैश मान में विभाजित करता है, जो कि 32 बिट हस्ताक्षरित पूर्णांक है। जावा में बराबर और हैशकोड के बीच महत्वपूर्ण अंतर यह है कि बराबर का उपयोग दो वस्तुओं की तुलना करने के लिए किया जाता है जबकि हैशकोड का उपयोग हैशिंग में यह तय करने के लिए किया जाता है कि किसी वस्तु को किस समूह में वर्गीकृत किया जाना चाहिए।

जावा में बराबर क्या है?

दो वस्तुओं की तुलना करने के लिए बराबर विधि का उपयोग किया जाता है।डिफ़ॉल्ट बराबर विधि को ऑब्जेक्ट क्लास में परिभाषित किया गया है। वह कार्यान्वयन==ऑपरेटर के समान है। दो वस्तु संदर्भ केवल तभी बराबर होते हैं जब वे एक ही वस्तु की ओर इशारा कर रहे हों। बराबर विधि को ओवरराइड करना संभव है।

जावा में बराबर और हैशकोड के बीच अंतर
जावा में बराबर और हैशकोड के बीच अंतर

चित्र 01: बराबर के साथ जावा प्रोग्राम

कथन System.out.println(s1.equals(s2)) उत्तर को गलत देगा क्योंकि s1 और s2 दो अलग-अलग वस्तुओं का जिक्र कर रहे हैं। यह कथन के समान था, System.out.println(s1==s2);

कथन System.out.println(s1.equals(s3)) उत्तर सही देगा क्योंकि s1 और s3 एक ही वस्तु को संदर्भित कर रहे हैं। यह कथन के समान था, System.out.println(s1==s3);

छात्र वर्ग में कोई समान विधि नहीं है। इसलिए, ऑब्जेक्ट क्लास में बराबर कहा जाता है। ट्रू तभी प्रदर्शित होता है जब ऑब्जेक्ट रेफरेंस उसी ऑब्जेक्ट की ओर इशारा कर रहा हो।

Java_चित्रा 02 में बराबर और हैशकोड के बीच अंतर
Java_चित्रा 02 में बराबर और हैशकोड के बीच अंतर

चित्र 02: ओवरराइड बराबर के साथ जावा प्रोग्राम

उपरोक्त कार्यक्रम के अनुसार, बराबर विधि ओवरराइड है। एक वस्तु को विधि में पास किया जाता है, और इसे छात्र को टाइप किया जाता है। फिर, आईडी मानों की जाँच की जाती है। यदि आईडी मान समान हैं, तो यह सच हो जाएगा। यदि नहीं, तो यह झूठी वापसी करेगा। s1 और s2 की आईडी समान हैं। तो, यह सच प्रिंट करेगा। s1 और s3 के आईडी भी समान हैं, इसलिए यह सही प्रिंट करेगा।

जावा में हैशकोड क्या है?

हैशकोड का उपयोग हैशिंग में यह तय करने के लिए किया जाता है कि किसी वस्तु को किस समूह में वर्गीकृत किया जाना चाहिए। वस्तुओं का एक समूह समान हैशकोड साझा कर सकता है। एक सही हैशिंग फ़ंक्शन वस्तुओं को विभिन्न समूहों में समान रूप से वितरित कर सकता है।

एक सही हैशकोड में निम्नानुसार गुण हो सकते हैं।मान लें कि obj1 और obj2 के रूप में दो ऑब्जेक्ट हैं। यदि obj1.equals(obj2) सत्य है, तो obj1.hashCode() obj2.hashCode() के बराबर है। यदि obj1.equals(obj2) गलत है, तो यह आवश्यक नहीं है कि obj1.hashCode() obj2.hashCode() के बराबर नहीं है। दो असमान वस्तुओं में भी एक ही हैशकोड हो सकता है।

Java_चित्रा 03 में बराबर और हैशकोड के बीच अंतर
Java_चित्रा 03 में बराबर और हैशकोड के बीच अंतर

चित्र 03: समान और हैशकोड वाला छात्र वर्ग

जावा में बराबर और हैशकोड के बीच महत्वपूर्ण अंतर
जावा में बराबर और हैशकोड के बीच महत्वपूर्ण अंतर

चित्र 04: मुख्य कार्यक्रम

छात्र वर्ग में समान और हैशकोड विधियाँ हैं। छात्र वर्ग में समान विधि एक वस्तु प्राप्त करेगी। यदि वस्तु शून्य है, तो यह झूठी वापसी करेगी।यदि वस्तुओं की कक्षाएं समान नहीं हैं, तो यह झूठी वापसी करेगी। दोनों वस्तुओं में आईडी मानों की जाँच की जाती है। यदि वे समान हैं, तो यह सच हो जाएगा। नहीं तो यह झूठी वापसी करेगा।

मुख्य कार्यक्रम में s1 और s2 ऑब्जेक्ट बनाए जाते हैं। s1.equals(s2) को कॉल करते समय सही होगा क्योंकि बराबर विधि ओवरराइड है और यह दो ऑब्जेक्ट्स के आईडी मानों की जांच करती है। भले ही वे दो वस्तुओं की बात कर रहे हों, उत्तर सत्य है क्योंकि s1 और s2 के id मान समान हैं। जैसा कि s1.equals(s2) सत्य है, s1 और s2 का हैशकोड बराबर होना चाहिए। s1 और s2 के हैशकोड को प्रिंट करने से समान मान मिलता है। हैशकोड विधि का उपयोग संग्रह जैसे हैश मैप के साथ किया जा सकता है।

जावा में बराबर और हैशकोड में क्या अंतर है?

जावा में बनाम हैशकोड के बराबर है

बराबर जावा में एक विधि है जो==ऑपरेटर के समान कार्य करती है, जो वस्तु समानता के बजाय वस्तु पहचान के लिए परीक्षण करना है। हैशकोड एक ऐसी विधि है जिसके द्वारा एक वर्ग स्पष्ट रूप से या स्पष्ट रूप से कक्षा के एक उदाहरण में संग्रहीत डेटा को एक हैश मान में विभाजित करता है।
उपयोग
दो वस्तुओं की तुलना करने के लिए समान विधि का उपयोग किया जाता है। हैशिंग में इस विधि का उपयोग यह तय करने के लिए किया जाता है कि किसी वस्तु को किस समूह में रखा जाना चाहिए।

सारांश - जावा में बराबर बनाम हैशकोड

जावा में बराबर और हैशकोड में अंतर यह है कि बराबर का उपयोग दो वस्तुओं की तुलना करने के लिए किया जाता है जबकि हैशकोड का उपयोग हैशिंग में यह तय करने के लिए किया जाता है कि किसी वस्तु को किस समूह में वर्गीकृत किया जाना चाहिए।

सिफारिश की: