جاوا میں ارے لسٹ اور ویکٹر کے مابین فرق
مواد
ارای لسٹ اور ویکٹر دونوں ہی کلیکشن فریم ورک کی تنظیمی ڈھانچے کے تحت کلاسز ہیں۔ ارے لسٹ اور ویکٹر ، دونوں چیزوں کی ایک متحرک سرنی تخلیق کرنے کے لئے استعمال ہوتے ہیں جہاں ضرورت پڑنے پر صف میں سائز بڑھ سکتا ہے۔ دو بنیادی اختلافات ہیں جو ارای لسٹ اور ویکٹر میں فرق کرتے ہیں وہ یہ ہے کہ ویکٹر لیگیسی کلاس سے تعلق رکھتا ہے جنہیں بعد میں کلیکشن کلاسوں کی حمایت کرنے کے لئے دوبارہ تجدید کیا گیا تھا جبکہ ، اری لسٹ ایک معیاری جمع کرنے کی کلاس ہے۔ ایک اور اہم فرق یہ ہے کہ دوسری طرف ارا لسٹ غیر ہم وقت ساز ہے۔ ویکٹر ہم وقت ساز ہے۔
آئیے ذیل میں دکھائے گئے موازنہ چارٹ کی مدد سے کچھ دوسرے اختلافات کا مطالعہ کریں۔
- موازنہ چارٹ
- تعریف
- کلیدی اختلافات
- مماثلت
- نتیجہ اخذ کرنا
موازنہ چارٹ
موازنہ کی بنیاد | ارے لسٹ | ویکٹر |
---|---|---|
بنیادی | ارے لسٹ کلاس مطابقت پذیر نہیں ہے۔ | ویکٹر کلاس مطابقت پذیر ہے۔ |
لیگیسی کلاس | ارے لسٹ ایک معیاری جمع کرنے کی کلاس ہے۔ | ویکٹر ایک وراثت کی کلاس ہے ، جو کلیکشن کلاس کی مدد کے لئے دوبارہ انجنیئر ہے۔ |
کلاس اعلامیہ | کلاس ارا لسٹ | کلاس ویکٹر |
دوبارہ منسوخی | جب اس کی وضاحت نہیں کی جاتی ہے تو کسی آری لسٹ میں اس کے سائز سے نصف اضافہ کیا جاتا ہے۔ | جب مخصوص نہیں کیا جاتا ہے تو ، ایک ویکٹر کو اس کے سائز کو دوگنا کرنے کے لئے بڑھا دیا جاتا ہے۔ |
کارکردگی | چونکہ ارا لسٹ غیر منظم ہے ، یہ ویکٹر کے مقابلے میں تیز چلتی ہے۔ | چونکہ ویکٹر کی ہم آہنگی ہوتی ہے ، یہ ارا لسٹ سے بھی آہستہ چلتی ہے۔ |
گنتی / اشارے | ارا لسٹ آرے لسٹ میں ذخیرہ شدہ اشیاء کو عبور کرنے کے لئے آئٹرٹر انٹرفیس کا استعمال کرتی ہے۔ | ویکٹر ویکیٹرز میں ذخیرہ شدہ اشیاء کو عبور کرنے کے لئے گنتی کے ساتھ ساتھ آئٹیٹر انٹرفیس کا بھی استعمال کرتا ہے۔ |
ارا لسٹ کی تعریف
ارا لسٹ معیاری جمع کرنے والی کلاسوں کی فہرست سے تعلق رکھتی ہے۔ کلاس ارا لسٹ کے اندر تعریف کی گئی ہے java.util پیکیج ، یہ توسیع خلاصہ کی فہرست کلاس جو ایک معیاری جمع کرنے کی کلاس بھی ہے ، اور یہ بھی نافذ کرتی ہے فہرست، جمع انٹرفیس میں تعریف کردہ ایک انٹرفیس۔ جاوا میں ، ایک معیاری سرنی ہمیشہ مقررہ لمبائی کی ہوتی ہے۔ اس کا مطلب ہے ایک بار پیدا؛ یہ متحرک طور پر بڑھتا یا سائز میں سکڑ نہیں ہوتا ہے۔ لہذا ، آپ جو سرنی استعمال کر رہے ہیں اس کی لمبائی کے بارے میں آپ کو پہلے سے علم ہونا چاہئے۔ لیکن ، کبھی کبھی ایسا بھی ہوسکتا ہے کہ رن ٹائم پر مطلوبہ لمبائی کا انکشاف ہوا ہو ، اس طرح کی صورتحال کو روکنے کے لئے جاوا نے ارا لسٹ کو متعارف کرایا۔
ارای لسٹ ایک ایسی صف کی متحرک تخلیق کے لئے استعمال ہونے والی کلاس ہے جو آبجیکٹ کے حوالہ جات رکھتی ہے۔ جب یہ ضرورت ہو تو اس صف میں سائز میں اضافہ ہوسکتا ہے۔ کلاس اعلامیہ مندرجہ ذیل ہے:
کلاس ارا لسٹ یہاں ، ای اشیاء کی قسم کی وضاحت کرتا ہے جو ایک صف میں پکڑے جائیں گے۔ جو صف تیار کی گئی ہے وہ متغیر لمبائی کی ہوتی ہے ، اور جب چیزوں کو فہرست سے خارج یا خارج کردیا جاتا ہے تو اس کی مقدار میں اضافہ اور کمی واقع ہوتی ہے۔ ارا لسٹ ہم وقت ساز نہیں ہے جس کا مطلب ہے ، ایک ہی وقت میں ایک سے زیادہ تھریڈ سرنی پر چل سکتی ہیں۔ مثال کے طور پر ، اگر ایک تھریڈ سرے میں کسی آبجیکٹ کا حوالہ جوڑ رہا ہے اور دوسرا تھریڈ ایک ہی وقت میں ایک ہی صف سے آبجیکٹ ریفرنس کو ہٹا رہا ہے۔ ارا لسٹ کلاس کا استعمال کرتے ہوئے متحرک صف کی تخلیق: ارے لسٹ مندرجہ بالا کوڈ میں ، آپ دیکھ سکتے ہیں کہ؛ میں نے سٹرنگ ٹائپ کی چیزوں کی ایک صف تیار کی۔ میں نے () ایڈ () طریقہ کا استعمال کرتے ہوئے سرنی S1 میں کچھ اشیاء شامل کیں ، اور بعد میں ہٹائیں () طریقہ استعمال کرکے کچھ اشیاء کو حذف کردیا۔ آپ مشاہدہ کرسکتے ہیں کہ اگر آپ صف کے ابتدائی سائز کی وضاحت نہیں کرتے ہیں تو اس کی لمبائی ‘0’ ہوگی۔ جیسا کہ آپ عناصر کو شامل اور حذف کرتے وقت صف میں اضافہ ہوتا ہے اور سکڑ سکتا ہے۔ ویکٹر ایک لیگیسی کلاس ہے جس کو کلیکشن فریم ورک درجہ بندی میں کلیکشن کلاس کی حمایت کے لئے دوبارہ تیار کیا گیا ہے۔ ویکٹر کلاس میں بھی تعریف کی گئی ہے java.util پیکیج ، کی طرف سے توسیع خلاصہ کی فہرست کلاس اور کے ذریعے لاگو فہرست انٹرفیس. ویکٹر کلاس کو بطور پیروکار اعلان کیا گیا ہے: کلاس ویکٹر یہاں ، ای شے کی قسم کی وضاحت کرتا ہے جو ایک صف میں محفوظ ہوگا۔ ویکٹر کلاس کا استعمال کرتے ہوئے تخلیق کردہ ایک صف متغیر کی لمبائی کی ہے۔ اگر انکریمنٹ کی وضاحت نہیں کی گئی ہے تو یہ اس کے سائز میں دوگنا اضافہ کرتا ہے۔ آئیے ویکٹر کا استعمال کرکے صف کی تشکیل کو سمجھیں۔ ویکٹر اوپر والے کوڈ میں آپ دیکھ سکتے ہیں کہ ، میں نے خاص طور پر بالترتیب ویکٹر کے کنسٹرکٹر میں سائز اور انکریمنٹ ویلیو کا تذکرہ کیا ، جبکہ سٹرنگ آبجیکٹوں کی صفوں کا اعلان کرتے ہوئے۔ لہذا ، آپ مشاہدہ کرسکتے ہیں کہ صف کی حد ختم ہونے کے ساتھ ہی یہ اعلان کے وقت تعمیر کنندگان کو فراہم کردہ قیمت سے بڑھتا ہے۔ میں یہ کہہ کر یہ نتیجہ اخذ کرتا ہوں کہ ارا لسٹ کا استعمال ویکٹر کے استعمال سے بہتر ہے کیونکہ یہ تیز اور بہتر کارکردگی کا مظاہرہ کرتا ہے۔
ویکٹر کی تعریف
مماثلت:
نتیجہ: