جاوا میں ارا لسٹ اور لنکڈ لسٹ کے مابین فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 3 اپریل 2021
تازہ کاری کی تاریخ: 3 مئی 2024
Anonim
جاوا میں LinkedList بمقابلہ ArrayList | ArrayList اور LinkedList کے درمیان فرق | ایڈوریکا
ویڈیو: جاوا میں LinkedList بمقابلہ ArrayList | ArrayList اور LinkedList کے درمیان فرق | ایڈوریکا

مواد


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


آئیے ذیل میں دکھائے گئے موازنہ چارٹ کی مدد سے آری لسٹ اور لنکڈ لسٹ کے مابین کچھ اور اختلافات پر تبادلہ خیال کریں۔

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

موازنہ چارٹ

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


ارا لسٹ کی تعریف

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

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

ارے لسٹ () ارے لسٹ (مجموعہ <؟ توسیع ای> سی) ارا لسٹ (موجودہ صلاحیت)

پہلا کنسٹرکٹر ایک خالی صف کی فہرست نافذ کرتا ہے۔ دوسرا کنسٹرکٹر کا استعمال کرتے ہوئے شروع کردہ ایک صف کی فہرست نافذ کرتا ہے جمع سی عناصر. تیسرے کنسٹرکٹر کے ساتھ سرنی کی فہرست کو نافذ کرتا ہے صلاحیت دلیل میں فراہم کی. ارا لسٹ کے ساتھ کام کرنا ، کبھی کبھی آپ کو کلیکشن اری لسٹ کو ایک صف میں تبدیل کرنے کی ضرورت ہوگی۔ یہ کال کرکے کیا جاسکتا ہے ٹو ارے ().

لنکڈ لسٹ کی تعریف

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

لنکڈ لسٹ کلاس میں دو کنسٹرکٹر ہیں۔

لنکڈ لسٹ () لنکڈ لسٹ (مجموعہ <؟ توسیع E> c)

پہلا کنسٹرکٹر ایک خالی منسلک فہرست بناتا ہے۔ دوسرا کنسٹرکٹر ایک جڑی ہوئی فہرست بناتا ہے ، کے عناصر کے ساتھ شروع کیا جاتا ہے جمع کرنا c.

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

  1. ارے لسٹ کے ذریعہ نافذ کردہ فہرست کو تصادفی طور پر حاصل کیا جاسکتا ہے کیونکہ ارے لسٹ سرنی کے اشاریہ پر مبنی ڈیٹا ڈھانچہ کو اپناتا ہے۔ دوسری طرف ، لنکڈ لسٹ کے ذریعہ نافذ کردہ فہرست کو تصادفی طور پر نہیں حاصل کیا جاسکتا ہے کیونکہ اس فہرست میں کسی خاص عنصر کو بازیافت کرنے یا اس تک رسائی حاصل کرنے کے ل you جس فہرست میں آپ کو عبور کرنا ہے۔
  2. فہرست کے عناصر کو ذخیرہ کرنے کے لئے ارے لسٹ کے ذریعہ استعمال کردہ داخلی ڈیٹا ڈھانچہ ایک ہے متحرک سرنی جو عناصر کو فہرست میں شامل کرنے یا حذف کرنے کے ساتھ ہی اس میں اضافہ یا سکڑ سکتا ہے۔ تاہم ، لنکڈ لسٹ کے ذریعہ فہرست میں موجود عناصر کو ذخیرہ کرنے کے لئے استعمال کردہ داخلی اعداد و شمار کا ڈھانچہ ہے دوگنی سے منسلک فہرست.
  3. ارے لسٹ میں توسیع خلاصہ کی فہرست کلاس جو ایک مجموعہ کلاس بھی ہے جبکہ ، لنکڈ لسٹ کلاس بڑھ جاتی ہے خلاصہ سیکیونشنل فہرست کلاس جو دوبارہ کلیکشن کلاس ہے۔
  4. ArrayList کلاس کے اوزار فہرست انٹرفیس جبکہ ، لنکڈ لسٹ کلاس اطلاق فہرست, قطار، اور Deque انٹرفیس.
  5. ارے لسٹ کا استعمال کرکے لاگو کردہ فہرست سے عناصر تک رسائی حاصل کرنا ہے تیز چونکہ اس میں انڈیکس پر مبنی ڈیٹا ڈھانچہ موجود ہے۔ دوسری طرف ، لنکڈ لسٹ کے ذریعہ نافذ کردہ فہرست میں انڈیکس پر مبنی کوئی ڈھانچہ موجود نہیں ہے۔ لہذا ، تکثیر تک رسائی حاصل کرنے والے عنصر تک پہنچنے کے ل the اس فہرست پر ایک ایٹریٹر لگایا جاتا ہے سست لنکڈ لسٹ میں۔
  6. ہیرا پھیری ہیریولیشن ہے اس فہرست کو ارے لسٹ کا استعمال کرکے لاگو کیا گیا کیونکہ جب بھی کسی عنصر کو فہرست سے شامل یا خارج کردیا جاتا ہے تو فہرست میں شامل عناصر کو تبدیل کرنے کے ل accom منتقل کردیا جاتا ہے۔ دوسری طرف ، لنکڈ لسٹ کی نافذ کردہ فہرست میں جوڑ توڑ تیز ہے کیونکہ اس میں عناصر کو فہرست میں شامل کرنے یا خارج کرنے پر فہرست میں شامل عناصر کی ضرورت نہیں ہے۔
  7. ارا لسٹ ایک کی طرح کام کرتا ہے فہرست جیسا کہ یہ فہرست انٹرفیس کو نافذ کرتا ہے جبکہ ، لنکڈ لسٹ اسی طرح کام کرتی ہے فہرست اور قطار جیسا کہ یہ فہرست اور قطار دونوں کو نافذ کرتا ہے۔

نتیجہ:

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