جاوا میں ہیش میپ اور لنکڈ ہیش میپ کے مابین فرق
مواد
ہش میپ اور لنکڈ ہیش میپ کلاسز ہیں ، بالکل ایک دوسرے سے ملتے جلتے اور نقشہ بنانے کے لئے استعمال ہوتے ہیں۔ ہیش میپ کلاس نقشے میں عناصر کو ذخیرہ کرنے کیلئے ہیش ٹیبل استعمال کرنے کیلئے خلاصہ نقشہ کی کلاس میں توسیع کرتی ہے۔ لنکڈ ہیش میپ کلاس اپنے داخل کرنے کے آرڈر کی بنیاد پر نقشہ میں اندراجات کو برقرار رکھتی ہے۔ وہ خصوصیت جو ہش میپ اور لنکڈ ہیش میپ کو ایک دوسرے سے ممتاز کرتی ہے ہاشمپ کسی نقشہ میں محفوظ اندراجات کی ترتیب برقرار نہیں رکھتا ہے۔ دوسری طرف، لنکڈ ہش میپ داخل کردہ ترتیب کو برقرار رکھنے کیلئے ہائبرڈ ڈیٹا ڈھانچہ استعمال کرتا ہے جس میں وہ داخل کی گئی تھیں۔ ذیل کے موازنہ چارٹ میں میں نے ہش میپ اور لنکڈ ہش میپ کے مابین کچھ دوسرے اختلافات کی صرف ایک نظر ڈالی۔
- موازنہ چارٹ
- تعریف
- کلیدی اختلافات
- نتیجہ اخذ کرنا
موازنہ چارٹ
موازنہ کی بنیاد | ہش میپ | لنکڈ ہش میپ |
---|---|---|
بنیادی | ہش میپ میں اندراج آرڈر محفوظ نہیں ہے۔ | اندراج آرڈر لنکڈ ہیش میپ میں محفوظ ہے۔ |
ڈیٹا سٹرکچر | ہش میپ نقشوں کو ذخیرہ کرنے کیلئے ہیش ٹیبل کا استعمال کرتا ہے۔ | لنکڈ ہیش میپ نقشہ ذخیرہ کرنے کیلئے لنکڈ لسٹ کے ساتھ ہیش ٹیبل کا استعمال کرتا ہے۔ |
توسیع / نفاذ | ہش میپ نے خلاصہ نقشہ میں توسیع کی اور نقشہ انٹرفیس کو نافذ کیا۔ | لنکڈ ہش میپ نے ہاشمیپ میں توسیع کردی۔ |
ورژن | ہاشمیپ کو جے ڈی کے 2.0 میں متعارف کرایا گیا تھا۔ | لنکڈ ہیش میپ کو جے ڈی کے 4.0 میں متعارف کرایا گیا تھا۔ |
اوور ہیڈ | نسبتا less کم ہیڈ | نسبتا more زیادہ اوور ہیڈ کیونکہ اس کو نقشہ اندراجات کی ترتیب برقرار رکھنا ہوگی۔ |
ہش میپ کی تعریف
ہش میپ ایک ایسی کلاس ہے جو نقشہ بنانے کے لئے استعمال ہوتا ہے۔ اس کا اطلاق ہوتا ہے نقشہ انٹرفیس۔ یہ بھی بڑھاتا ہے خلاصہ نقشہ کلاس تاکہ وہ نقشے میں اندراجات کو اسٹور کرنے کے لئے ہیش ٹیبل کا استعمال کرسکے۔ نقشے کے اندراجات ایک ہیں ہش میپ میں اندراجات کا اندراج آرڈر محفوظ نہیں ہے۔ ہیش میپ کا استعمال کرتے ہوئے تخلیق کردہ نقشہ میں اندراجات کا اندراج اندراجات میں بٹنوں کے ذریعہ حساب لگانے والے ہیش کوڈ پر مبنی ہے۔ اگر غلطی سے آپ نے ہاشمیپ میں ایک ڈپلیکیٹ کلید درج کی ہے تو ، یہ اس کلید کی سابقہ قیمت کو نئی پیش کردہ قیمت کے ساتھ بدل دے گی اور پرانی قیمت واپس کردے گی۔ اگر کوئی ڈپلیکیٹ چابی استعمال نہیں کی گئی ہے اور کوئی متبادل نہیں ہوا ہے تو ، کلید ہمیشہ نال کو واپس کردیتی ہے۔ آئیے دیکھتے ہیں کہ درج ذیل مثال کے ساتھ ہیش نقشہ میں اندراجات کس طرح شامل کریں۔ ہشمپ hm = نیا ہاشمپ ()؛ hm.put ("اجے" ، 275)؛ hm.put ("وجے" ، 250)؛ hm.put ("جونی"، 150)؛ hm.put ("اردن"، 200)؛ System.out.ln (hm)؛ / * آؤٹ پٹ * / {وجئے = 250 ، جونی = 150 ، اجے = 275 ، اردن = 200 جیسا کہ مذکورہ کوڈ کی طرح ، آپ دیکھ سکتے ہیں کہ میں نے ہش میپ کا ایک آبجیکٹ تیار کیا ہے اور پوٹس میتھ استعمال کرکے انٹریوں کو شامل کیا ہے اور جب میں ہش میپ آبجیکٹ کو ایڈ کرتا ہوں تو ، اندراجات ترتیب میں داخل نہیں کی گئیں۔ لہذا ، آپ ہش میپ میں اندراجات کی ترتیب کو دکھاوا نہیں کرسکتے ہیں۔ ہش میپ میپ انٹرفیس اور خلاصہ نقشہ کلاس کے تمام طریقے استعمال کرتا ہے اور کوئی نیا طریقہ متعارف نہیں کرتا ہے۔ اس کے اپنے کنسٹرکٹر ہیں۔ ہیش نقشہ کی ڈیفالٹ گنجائش ہے 16 اور پہلے سے طے شدہ بھرنے کا تناسب ہے 0.75. لنکڈ ہیش میپ نقشہ بنانے کیلئے طبقاتی استعمال بھی ہے۔ لنکڈ ہش میپ میں توسیع ہش میپ کلاس اور بعد میں JDK ورژن 4.0 میں ہاشمیپ پر متعارف کروائی گئی۔ ہینڈ میپ کلاس لنکڈ ہیش میپ کا چلڈرن کلاس ہونا بالکل ہی ہش میپ کلاس جیسا ہی ہے جس میں کنسٹرکٹر اور طریقے شامل ہیں لیکن ، لنکڈ ہیش میپ اس لحاظ سے مختلف ہے کہ وہ نقشہ میں اندراجات داخل کرنے کی ترتیب کو برقرار رکھتا ہے۔ نقشہ کو اسٹور کرنے کے لئے لنکڈ ہش میپ کے ذریعہ استعمال ہونے والا ڈیٹا ڈھانچہ ہے منسلک فہرست اور ہیش ٹیبل. ہاش میپ کے وراثت میں آنے والے طریقوں کے علاوہ ، لنکڈ ہش میپ ایک نیا طریقہ متعارف کراتا ہے جو ہے EldestEntry (). یہ طریقہ نقشہ میں سب سے قدیم اندراج کو دور کرنے کے لئے استعمال ہوتا ہے۔ لنکڈ ہیش میپ کی ڈیفالٹ گنجائش 16 ہے ، اور طے شدہ بھرنے کا تناسب 0.75 ہے جو ہش میپ کلاس سے ملتا جلتا ہے۔
لنکڈ ہیش میپ کی تعریف
- سب سے اہم فرق یہ ہے کہ ہش میپ کا اندراج آرڈر ہے محفوظ نہیں جبکہ ، لنکڈ ہیش میپ کا اندراج آرڈر ہے محفوظ.
- نقشہ کے عناصر کو ذخیرہ کرنے کے لئے ہش میپ کے ذریعہ استعمال کردہ ڈیٹا کا ڈھانچہ ہے ہیش ٹیبل. دوسری طرف ، لنکڈ ہیش میپ کے زیر استعمال ڈیٹا کا ڈھانچہ ہے لنکڈ لسٹ اور ہیش ٹیبل.
- ہش میپ کلاس بڑھ جاتی ہے خلاصہ نقشہ کلاس اور لاگو نقشہ انٹرفیس. تاہم ، لنکڈ ہیش میپ کلاس ایک چلڈرن کلاس ہے ہش میپ کلاس یعنی لنکڈ ہیش میپ کلاس میں ہش میپ کلاس بڑھ جاتی ہے۔
- ہاشم میپ کلاس متعارف کروائی گئی تھی جے ڈی کے 2.0 ورژن لنکڈ ہیش میپ کلاس بعد میں متعارف کروائی گئی جے ڈی کے 4.0 ورژن
- نسبتا Lin لنکڈ ہیش میپ کلاس میں ہش میپ سے زیادہ اوور ہیڈ ہوتا ہے کیونکہ اسے نقشہ میں داخل کردہ عناصر کی ترتیب کو برقرار رکھنا ہوتا ہے۔
نتیجہ:
لنکڈ ہیش میپ کو صرف اس صورت میں استعمال کرنا چاہئے جہاں ہمیں نقشہ میں داخل عناصر کی ترتیب کے بارے میں تشویش ہو۔