जावा मधील हॅशमॅप आणि लिंक्डहॅशमॅप मधील फरक
सामग्री
हॅशमॅप आणि लिंक्डहॅशमॅप हे वर्ग आहेत, जे एकमेकांसारखे असतात आणि नकाशा तयार करण्यासाठी वापरतात. नकाशामध्ये घटक संचयित करण्यासाठी हॅश टेबलचा वापर करण्यासाठी हॅशमॅप वर्ग अॅबस्ट्रॅक्टमॅप वर्ग वाढवितो. लिंक्डहॅशमॅप वर्ग त्यांच्या अंतर्वेशनाच्या क्रमानुसार नकाशामध्ये नोंदी ठेवतो. हॅशमॅप आणि लिंक्डहॅशमॅपला एकमेकांपासून वेगळे करणारे वैशिष्ट्य तेच आहे हॅशमॅप नकाशामध्ये संग्रहित नोंदींचा क्रम राखत नाही. दुसरीकडे, लिंक्डहॅशमॅप त्यांनी घातलेल्या एंट्रीचा क्रम राखण्यासाठी संकरित डेटा स्ट्रक्चर वापरते. खालील तुलना तक्त्यामध्ये मी हॅशमॅप आणि लिंक्डहॅशमॅप मधील इतर काही फरक शोधले आहेत.
- तुलना चार्ट
- व्याख्या
- मुख्य फरक
- निष्कर्ष
तुलना चार्ट
तुलनासाठी आधार | हॅशमॅप | लिंक्डहॅशमॅप |
---|---|---|
मूलभूत | हॅशमॅप मधील समाविष्ट क्रम जतन नाही. | लिंक्डहॅशमॅपमध्ये समाविष्ट करण्याचे ऑर्डर संरक्षित केले आहे. |
डेटा रचना | हॅशमॅप नकाशे संचयित करण्यासाठी हॅशटेबल वापरतो. | लिंक्डहॅशमॅप नकाशा साठवण्यासाठी दुवा साधलेल्या यादीसह हॅशटेबलचा वापर करतो. |
विस्तारित / अवयव | हॅशमॅप अॅबस्ट्रॅक्टमॅप वाढवितो आणि नकाशा इंटरफेसची अंमलबजावणी करतो. | लिंक्डहॅशमॅपने हॅशमॅप वाढविला. |
आवृत्ती | जेडीके २.० मध्ये हॅशमॅप सादर करण्यात आला. | लिंक्डहॅशमॅप जेडीके in.० मध्ये सादर केला गेला. |
ओव्हरहेड | तुलनेने कमी ओव्हरहेड. | तुलनात्मकदृष्ट्या अधिक ओव्हरहेड कारण त्यास नकाशा प्रविष्ट्यांचा क्रम राखणे आवश्यक आहे. |
हॅशमॅप ची व्याख्या
हॅशमॅप हा एक वर्ग आहे जो नकाशा तयार करण्यासाठी वापरला जातो. त्याची अंमलबजावणी होते नकाशा इंटरफेस. हे देखील वाढवते अॅबस्ट्रॅक्ट मॅप वर्ग जेणेकरून ते नकाशामध्ये प्रविष्ट्या संचयित करण्यासाठी हॅश टेबलचा वापर करू शकेल. नकाशाच्या नोंदी ए हॅशमॅपमधील प्रविष्ट्यांचा अंतर्ग्रहण क्रम जतन केलेला नाही. हॅशमॅपचा वापर करून तयार केलेल्या नकाशामध्ये नोंदी प्रविष्ट करणे प्रविष्ट्यांमधील की द्वारे गणना केलेल्या हॅश कोडवर आधारित आहे. चुकून आपण हॅशमॅपमध्ये डुप्लिकेट की प्रविष्ट केली असेल तर ती त्या कीचे मागील मूल्य प्रस्तावित केलेल्या नवीन मूल्यासह पुनर्स्थित करेल आणि जुने मूल्य परत करेल. कोणतीही डुप्लिकेट की वापरली नसल्यास आणि कोणतीही बदल न झाल्यास, की नेहमी नल परत करते. पुढील उदाहरणासह हॅश नकाशावर प्रविष्ट्या कशा जोडाव्या ते पाहू. हॅशमॅप एचएम = नवीन हॅशमॅप (); एचएम.पुट ("अजय", 275); एचएम.पुट ("विजय", 250); एचएम.पुट ("जॉनी", 150); एचएम.पुट ("जॉर्डन", 200); सिस्टम.आउट.एलएन (एचएम); / * आउटपुट * / {विजय = 250, जॉनी = 150, अजय = 275, जॉर्डन = 200 वरील कोड प्रमाणे, तुम्ही पाहु शकता की मी हॅशमॅपचा ऑब्जेक्ट बनविला आहे आणि पुट्स मेथडचा वापर करून नोंदी जोडल्या आहेत आणि जेव्हा मी हॅशमॅप ऑब्जेक्ट एड करते तेव्हा प्रविष्ट्या ज्या क्रमाने समाविष्ट केल्या जातात त्या एडी नसतात. म्हणूनच, आपण हॅशमॅपमधील प्रविष्टीची क्रमवारी दर्शवू शकत नाही. हॅशमॅप मॅप इंटरफेस आणि अॅबस्ट्रॅक्टमॅप क्लासच्या सर्व पद्धती वापरतो आणि कोणतीही नवीन पद्धत वापरत नाही; त्याचे स्वतःचे बांधकाम करणारे आहेत. हॅश नकाशाची डीफॉल्ट क्षमता आहे 16 आणि डीफॉल्ट फिल रेशो आहे 0.75. लिंक्डहॅशमॅप देखील नकाशा तयार करण्यासाठी एक वर्ग वापर आहे. लिंक्डहॅशमॅप विस्तारित करते हॅशमॅप वर्ग आणि नंतर जेडीके आवृत्ती 4.0 मध्ये हॅशमॅपवर आला. हॅशमॅप क्लास लिंक्डहॅशमॅप चा बाल वर्ग असल्याने बांधकाम व पद्धतींचा समावेश हॅशमॅप क्लास प्रमाणेच आहे. परंतु, लिंक्डहॅशमॅप या अर्थाने भिन्न आहे की तो नकाशामध्ये प्रविष्ट्या समाविष्ट करण्याचा क्रम राखतो. नकाशा संचयित करण्यासाठी लिंक्डहॅशमॅप द्वारे वापरली जाणारी डेटा रचना आहे जोडलेली यादी आणि हॅश टेबल. हॅशमॅपद्वारे वारसा प्राप्त केलेल्या पद्धती व्यतिरिक्त, लिंक्डहॅशमॅप एक नवीन पद्धत सादर करते वेल्डस्टेन्ट्री (). या पद्धतीचा वापर नकाशामधील सर्वात जुने प्रवेश काढून टाकण्यासाठी केला जातो. लिंक्डहॅशमॅपची डीफॉल्ट क्षमता 16 आहे आणि डीफॉल्ट फिल रेशो 0.75 आहे जे हॅशमॅप वर्गासारखे आहे.
लिंक्डहॅशमॅप ची व्याख्या
- सर्वात महत्त्वाचा फरक हा आहे की हॅशमॅपची समाविष्ट करण्याची ऑर्डर आहे संरक्षित नाही तर, लिंक्डहॅशमॅपचा समाविष्ट क्रम आहे संरक्षित.
- नकाशाचे घटक संग्रहित करण्यासाठी हॅशमॅप द्वारे वापरलेली डेटा स्ट्रक्चर आहे हॅशटेबल. दुसरीकडे, लिंक्डहॅशमॅपने वापरलेली डेटा स्ट्रक्चर आहे दुवा साधलेली यादी आणि हॅशटेबल.
- हॅशमॅप वर्ग वाढवित आहे अॅबस्ट्रॅक्ट मॅप वर्ग आणि अंमलबजावणी नकाशा इंटरफेस. तथापि, लिंक्डहॅशमॅप वर्ग हा मुलांचा वर्ग आहे हॅशमॅप वर्ग अर्थात लिंक्डहॅशमॅप वर्ग हॅशमॅप वर्ग वाढवितो.
- मध्ये हॅशमॅप क्लास सुरू झाला जेडीके २.० आवृत्ती लिंक्डहॅशमॅप वर्ग नंतर सुरू झाला जेडीके ..० आवृत्ती
- तुलनात्मकदृष्ट्या लिंक्डहॅशमॅप वर्गाकडे हॅशमॅपपेक्षा जास्त ओव्हरहेड आहे कारण त्यास नकाशामध्ये घातलेल्या घटकांची क्रमवारी राखणे आवश्यक आहे.
निष्कर्ष:
नकाशामध्ये घातलेल्या घटकांच्या अनुक्रमांबद्दल आम्हाला काळजी असेल तिथेच लिंक्डहॅशमॅप वापरणे आवश्यक आहे.