جاوا میں ہیش میپ اور لنکڈ ہیش میپ کے مابین فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 2 اپریل 2021
تازہ کاری کی تاریخ: 10 مئی 2024
Anonim
جاوا میں ہیش میپ اور لنکڈ ہیش میپ کے مابین فرق - ٹیکنالوجی
جاوا میں ہیش میپ اور لنکڈ ہیش میپ کے مابین فرق - ٹیکنالوجی

مواد


ہش میپ اور لنکڈ ہیش میپ کلاسز ہیں ، بالکل ایک دوسرے سے ملتے جلتے اور نقشہ بنانے کے لئے استعمال ہوتے ہیں۔ ہیش میپ کلاس نقشے میں عناصر کو ذخیرہ کرنے کیلئے ہیش ٹیبل استعمال کرنے کیلئے خلاصہ نقشہ کی کلاس میں توسیع کرتی ہے۔ لنکڈ ہیش میپ کلاس اپنے داخل کرنے کے آرڈر کی بنیاد پر نقشہ میں اندراجات کو برقرار رکھتی ہے۔ وہ خصوصیت جو ہش میپ اور لنکڈ ہیش میپ کو ایک دوسرے سے ممتاز کرتی ہے ہاشمپ کسی نقشہ میں محفوظ اندراجات کی ترتیب برقرار نہیں رکھتا ہے۔ دوسری طرف، لنکڈ ہش میپ داخل کردہ ترتیب کو برقرار رکھنے کیلئے ہائبرڈ ڈیٹا ڈھانچہ استعمال کرتا ہے جس میں وہ داخل کی گئی تھیں۔ ذیل کے موازنہ چارٹ میں میں نے ہش میپ اور لنکڈ ہش میپ کے مابین کچھ دوسرے اختلافات کی صرف ایک نظر ڈالی۔

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. نتیجہ اخذ کرنا

موازنہ چارٹ

موازنہ کی بنیادہش میپلنکڈ ہش میپ
بنیادیہش میپ میں اندراج آرڈر محفوظ نہیں ہے۔اندراج آرڈر لنکڈ ہیش میپ میں محفوظ ہے۔
ڈیٹا سٹرکچرہش میپ نقشوں کو ذخیرہ کرنے کیلئے ہیش ٹیبل کا استعمال کرتا ہے۔لنکڈ ہیش میپ نقشہ ذخیرہ کرنے کیلئے لنکڈ لسٹ کے ساتھ ہیش ٹیبل کا استعمال کرتا ہے۔
توسیع / نفاذہش میپ نے خلاصہ نقشہ میں توسیع کی اور نقشہ انٹرفیس کو نافذ کیا۔لنکڈ ہش میپ نے ہاشمیپ میں توسیع کردی۔
ورژنہاشمیپ کو جے ڈی کے 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 ہے جو ہش میپ کلاس سے ملتا جلتا ہے۔

  1. سب سے اہم فرق یہ ہے کہ ہش میپ کا اندراج آرڈر ہے محفوظ نہیں جبکہ ، لنکڈ ہیش میپ کا اندراج آرڈر ہے محفوظ.
  2. نقشہ کے عناصر کو ذخیرہ کرنے کے لئے ہش میپ کے ذریعہ استعمال کردہ ڈیٹا کا ڈھانچہ ہے ہیش ٹیبل. دوسری طرف ، لنکڈ ہیش میپ کے زیر استعمال ڈیٹا کا ڈھانچہ ہے لنکڈ لسٹ اور ہیش ٹیبل.
  3. ہش میپ کلاس بڑھ جاتی ہے خلاصہ نقشہ کلاس اور لاگو نقشہ انٹرفیس. تاہم ، لنکڈ ہیش میپ کلاس ایک چلڈرن کلاس ہے ہش میپ کلاس یعنی لنکڈ ہیش میپ کلاس میں ہش میپ کلاس بڑھ جاتی ہے۔
  4. ہاشم میپ کلاس متعارف کروائی گئی تھی جے ڈی کے 2.0 ورژن لنکڈ ہیش میپ کلاس بعد میں متعارف کروائی گئی جے ڈی کے 4.0 ورژن
  5. نسبتا Lin لنکڈ ہیش میپ کلاس میں ہش میپ سے زیادہ اوور ہیڈ ہوتا ہے کیونکہ اسے نقشہ میں داخل کردہ عناصر کی ترتیب کو برقرار رکھنا ہوتا ہے۔

نتیجہ:

لنکڈ ہیش میپ کو صرف اس صورت میں استعمال کرنا چاہئے جہاں ہمیں نقشہ میں داخل عناصر کی ترتیب کے بارے میں تشویش ہو۔