سیٹ اور فہرست کے درمیان فرق

Anonim

آرٹ کی فہرست اور لنک کی فہرست کے درمیان فرق

ہم اصل اختلافات سے پہلے، ہمیں بتائیں کہ وہ واقعی میں ہیں؟

سیٹ کیا ہے؟

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

سیٹ کریں: 20، 50، 10، 30.

اصل میں اس سیٹ میں محفوظ ہے جیسے 10، 20، 30، 50.

عناصر یہاں ترتیب دے رہے ہیں اور ان کے اندراج کے آرڈر میں محفوظ نہیں ہیں. سیٹ کی خصوصیات میں سے ایک یہ ہے کہ یہ ہمیشہ ذخیرہ کرنے سے قبل عناصر کو تبدیل کرتا ہے اور اس کے علاوہ، اس سے مستثنی ہے اور ایک ہی لنکڈشش سیٹ ہے کیونکہ اس عناصر کے اندراج کی ترتیب کو برقرار رکھتا ہے.

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

اسے کیسے لاگو کرنا ہے؟

صرف ایک بہتر تفہیم کے لئے، ہم نے اس کے مطابقت کے ساتھ ایک سیٹ کی نمائندگی کی ہے. مندرجہ بالا نحو سے، آپ مختلف قسم کے سیٹ جیسے ہاس سیٹ اور TreeSet مقرر کریں کی شناخت کرسکتے ہیں.

درآمد جاوا. استعمال *؛

عوامی کلاس سیٹیکس نمونہ {

عوامی جامد خالی مرکزی (سٹرنگ آرکائٹس []) {

int شمار [] = {34، 22، 10، 60، 30، 22} {25، 17، 76، 12 ، 88، 57}؛

سیٹ = نیا ہای سیٹ سیٹ ()؛

کوشش کریں <

کے لئے (int i = 0؛ i <5؛ i ++) {

set. شامل کریں (شمار ​​[i])؛

}

سسٹم. باہر. println (سیٹ)؛

TreeSet ترتیب دیا سیٹ کریں = نیا TreeSet (سیٹ)؛

سسٹم. باہر. println ("یہاں ہمارے مطابق ترتیب ہے:")؛

سسٹم. باہر. println (sortedSeteg)؛

سسٹم. باہر. println ("سب سے پہلے عنصر کو دیکھو:" + (انوزر) ترتیب دیں سیٹ پہلے ())؛

سسٹم. باہر. println ("آخری عنصر ملاحظہ کریں:" + (اندرونی) ترتیب دیں سیٹ آخری ())؛

}

پکڑ (استثنائی ای) {}

}

}

مندرجہ بالا کوڈ کی پیداوار مندرجہ ذیل ہے.

[25، 17، 76، 12، 88]

یہاں ہمارے مطابق پیداوار ہے:

[12، 17، 25، 76، 88]

پہلا عنصر دیکھیں: 12 > آخری عنصر دیکھیں: 88

فہرست کیا ہے؟

ایک فہرست ایک سیٹ کو اس طرح ملتا ہے جیسے سیٹ کیا تھا، لیکن یہ اندراج کا حکم برقرار رکھتا ہے. آپ کو ایک فہرست میں مندرجہ ذیل ناموں کو شامل کرنے کی کوشش کریں اور دیکھیں کہ اسے کس طرح شامل کیا گیا ہے.

ایک فہرست میں ان پٹ:

جان، نینسی، مریم، ایلس. اس فہرست میں کیسے ذخیرہ کیا جاتا ہے:

جان، نینسی، مریم، ایلس. اس حکم کو صرف اس پر غور کریں جس میں وہ داخل ہوتے ہیں. آپ اس بات کی شناخت کر سکتے ہیں کہ 'جان' ان پٹ اور اس کے آؤٹ پٹ میں پہلا عنصر بنتا ہے اور اسی حکم کی پیروی کی جاتی ہے جس میں نام درج کیے جاتے ہیں. ہم یہ فہرست کی اہم خصوصیات میں سے ایک پر بھی غور کر سکتے ہیں.

اسے کیسے لاگو کرنا؟

ذیل میں مطابقت پذیری میں فہرست کے چند طریقوں جیسے آرلسٹسٹ اور لنکڈسٹسٹ کی فہرست ملاحظہ کریں.

درآمد جاوا. استعمال *؛

عوامی طبقے کے مجموعہ کے نمونے {

عوامی مستحکم صفر مین (سٹرنگ [] args) {

A1 = نئی ArrayList ()؛

a1. شامل کریں ("جان")؛

a1. ("نینسی") شامل کریں؛

a1. ("مریم") شامل کریں؛

a1. ("الیس") شامل کریں؛

سسٹم. باہر. println ("ArrayList عناصر ہیں")؛

سسٹم. باہر. پرنٹ (" t" + a1)؛

فہرست L1 = نئی لنکڈ لسٹ ()؛

L1. شامل کریں ("سلیاہ")؛

L1. شامل کریں ("ارجن")؛

L1. شامل کریں ("دیپکا")؛

L1. ("سوسن") شامل کریں؛

سسٹم. باہر. println ()؛

سسٹم. باہر. println ("لنکڈ لسٹ عناصر ہیں")؛

سسٹم. باہر. پرنٹ (" t" + L1)؛ }}

مندرجہ ذیل نحو کی پیداوار مندرجہ ذیل ہے.

آرٹسٹ عناصر ہیں

[جان، نینسی، مریم، یلس]

لنکڈسٹ عناصر

[سلواہ، ارجن، دیپکا، سوسن]

یہ مندرجہ بالا کوڈ سے بہت صاف ہے کہ آرلسٹ اور لنکڈسٹسٹ اندراج آرڈر کو برقرار رکھتا ہے.

وہ مختلف کیسے ہیں؟

طریقے اور وضاحتیں:

  • سیٹ اور فہرست اس کے اپنے طریقے ہیں اور ہمیں ان میں سے کچھ یہاں دیکھتے ہیں.

ایس. نہیں

سیٹ - طریقے فہرست - طریقوں 1.
شامل کریں () - یہ ایک مجموعہ میں اشیاء شامل کرنا ہے. خالی اضافی (انٹری انڈیکس، آبجیکٹ کیجئے) - یہ منسلکہ فہرست کے مخصوص 'انڈیکس' پر اعتراض 'obj' کا اضافہ کرتا ہے اور اس بات کو یقینی بناتا ہے کہ پچھلے عناصر کو منتقل کرنے سے کوئی عنصر زیادہ نہیں ہے. 2.
واضح () - یہ ایک مجموعہ سے اشیاء نکالنا ہے. بولیان اضافی سبھی (انٹری انڈیکس، مجموعہ سی) - یہ منسلکہ فہرست اور 'انڈیکس' میں پورے مجموعہ کو 'c' میں شامل کرتا ہے. یہ بھی یقینی بناتا ہے کہ کوئی عناصر زیادہ لکھے ہوئے نہیں ہیں. ہم واپسی کی قیمت کی جانچ پڑتال کی طرف سے اس کے آپریشن کی اصلاح کو بھی جانچ سکتے ہیں. اگر یہ ایرر برقرار رہے تو ہمارے ہیلپ ڈیسک سے رابطہ کریں. غلط استعمال رپورٹ نہیں کیا جا سکا. ایک یا زیادہ ایرر آ گئے ہیں. براہ مہربانی ایرر پیغام سے نشان زدہ فیلڈز کو ٹھیک کریں. 3.
پر مشتمل ہے () - یہ چیک کرنا ہے کہ سیٹ میں اس میں ایک خاص اعتراض ہے. اگر سیٹ سیٹ میں موجود ہے تو یہ ایک 'قیمت' کی واپسی دیتا ہے. آبجیکٹ حاصل (انٹری انڈیکس) - یہ مخصوص 'انڈیکس' میں عنصر یا اعتراض واپس کرتا ہے. 4.
isEmpty () - یہ یہ تعین کرنا ہے کہ آیا اس مجموعہ میں اس میں کوئی عناصر نہیں ہے. اگر کوئی عنصر نہیں ہے تو یہ ایک 'قیمت' کی واپسی دیتا ہے. int lastIndexOf (آبجیکٹ obj) - یہ indexOf () طریقہ کی ریورس کی طرح کام کرتا ہے. اگر اس فہرست میں کوئی ایسی چیز نہیں ہے تو یہ مخصوص آبجیکٹ 'موجوج' کی آخری واقعہ واپس لیتا ہے اور ایک قدر '1' واپس آ گیا ہے. لہذا، اس کے استعمال کے طور پر بھی استعمال کیا جا سکتا ہے () سیٹ انٹرفیس کا طریقہ. 6.
ہٹا دیں () - یہ ایک عنصر کو ایک مجموعہ سے ہٹا دینا ہے جس کا طریقہ یہ ہے کہ یہ ایک پیرامیٹر کے طور پر ہے. ListIterator کی فہرستٹرٹر () - اس فہرست کے آغاز انڈیکس میں ایک ہیٹرٹر واپس آتی ہے. 7.
سائز () - یہ اشیاء یا عناصر کی تعداد شمار کرنا ہے جو ایک مجموعہ ہے. فہرستٹرٹرٹر کی فہرستٹرٹر (انٹیکس انڈیکس) - یہ مخصوص 'انڈیکس' سے شروع ہونے والا انوائسنگ لسٹ کے ذریعہ اس کے استعمال میں مدد ملتی ہے. 8.
- آبجیکٹ ہٹا دیں (انٹری انڈیکس) - یہ مخصوص 'انڈیکس' میں اعتراض کو خارج کرتا ہے اور خارج شدہ عنصر کو نتیجے میں واپس دیتا ہے. یہ نتیجے میں فہرست انڈیکس کو ختم کرنے کی عکاسی کرنے میں بھی کم ہے. 9.
- آبجیکٹ سیٹ (انٹری انڈیکس، آبجیکٹ obj) - یہ مخصوص 'انڈیکس' پر انوائسنگ لسٹ میں آبجیکٹ 'obj' تفویض کرنا ہے. 10.
- ذیلی فہرست (انٹرو شروع، انٹرفیس) کی فہرست میں اس فہرست میں شامل کردہ فہرست میں انڈیکس 'آغاز' سے شروع ہونے والے انڈیکس میں 'اختتام' میں اشیاء شامل کرنا ہے. انضمام آرڈر کی بحالی:
  • سیٹ کبھی عناصر کے حکم کو برقرار نہیں رکھتا ہے جس میں ان میں ڈال دیا جاتا ہے جبکہ فہرست اسے برقرار رکھتا ہے. LinkedHashSet کے لئے اس قاعدہ کی استثنا ہے کیونکہ اس کا اندراج کا حکم برقرار رکھتا ہے لیکن دوسرے سیٹ جیسے ہیش سیٹ اور درخت سیٹ سیٹ کرتا ہے اس کو ذخیرہ کرنے سے پہلے عناصر. مندرجہ ذیل مثالیں درج ذیل میں بیان کی گئی ہیں.

سیٹ

ان پٹ: بلی، گڑیا، ایپل. جیسا کہ: ایپل، بلی، گڑیا.

ان پٹ کی فہرست: بلی، گڑیا، ایپل.

کے طور پر تیار: بلی، گڑیا، ایپل.

ڈپلیٹیٹس کی موجودگی:

  • ایک سیٹ کبھی بھی ڈپلیکیٹ کی اجازت نہیں دیتا ہے جبکہ ایک فہرست اسے اجازت دیتا ہے. اگر ایک ڈپلیکیٹ قیمت کو ایک فہرست میں شامل کیا جانا چاہئے تو یہ غالب ہو جاتا ہے. سیٹ اور ڈپلیکیٹ کی فہرست کیلئے نمونے دیکھیں.

ان پٹ سیٹ کریں: 10، 20، 20، 50.

10 9، 20، 50.

فہرست ان پٹ: 10، 20، 20، 50.

کے طور پر تشکیل دیا گیا: 10، 20، 20، 50.

نال اقدار:

  • ایک سیٹ صرف ایک نیل قدر ہوسکتا ہے، لیکن فہرست میں ایک سے زیادہ نیل قدر ہوسکتا ہے اور کسی بھی تعداد میں محدود نہیں ہے.

ان پٹ سیٹ کریں: سست، سست، انسان، کتا، طیارہ.

کے طور پر تشکیل دیا ہے: سست، کتے، انسان، طیارہ.

فہرست ان پٹ: سست، سست، انسان، کتا، طیارہ.

کے طور پر تشکیل دیا ہے: سست، سست، انسان، کتا، طیارہ.

Iterator & ListIterator کا استعمال:

  • آئٹرٹر کا طریقہ سیٹ اور فہرست دونوں کے ساتھ کام کرتا ہے جبکہ طریقہ کار فہرستٹر صرف فہرست کے ساتھ کام کرتا ہے. فہرست کے ذریعہ آگے بڑھنے کے ساتھ ساتھ پچھلے پچھلے راستے میں فہرست سازی کا استعمال کیا جا سکتا ہے.

لیگیسی کلاس کی موجودگی:

  • سیٹ میں کوئی ورثہ کلاس نہیں ہے جبکہ فہرست کے انٹرفیس میں میراث 'ویکٹر' کا نام ہے. ایک ویکٹر فہرست انٹرفیس کا استعمال کرتا ہے اور اس وجہ سے یہ اندراج کا حکم برقرار رکھتا ہے. مطابقت پذیری کی کوششوں کی وجہ سے، اضافے، حذف اور اپ ڈیٹ میں ویکٹر کی کارکردگی تھوڑی دیر سے کم ہے.

عمل درآمد:

  • سیٹ اپ نافذ کرنے والے میں سے کچھ ہیش سیٹ، لنک ہاس سیٹ، اور TreeSet ہیں. فہرست کے نفاذ میں سے کچھ شامل ہیں آر ایلسٹ اور لنکڈسٹسٹ.

سیٹ اور فہرست کب استعمال کرنے کے لئے؟

سیٹ اور فہرست کا استعمال مکمل طور پر اندراج آرڈر کی بحالی کی ضرورت پر منحصر ہے.جیسا کہ ہم نے سیکھا ہے کہ ایک سیٹ کبھی اندراج کا حکم برقرار نہیں رکھتا ہے، جب یہ حکم کم اہمیت کی صورت میں استعمال ہوسکتی ہے. اسی طرح میں، اس فہرست کا استعمال کریں جب آپ کو اندراج کے سلسلے کو برقرار رکھنے کے لئے بھی ضرورت ہے.

ٹیبلولر فارم میں اختلافات:

ایس. نہیں

میں فرق> سیٹ فہرست 1. انضمام آرڈر
یہ اندراج آرڈر کو برقرار رکھتا ہے. سب سے پہلے داخل ہونے والے پہلے جگہ میں باقی رہتا ہے اور اسی طرح اس کی قدر کے بغیر. یہ اندراج کا حکم کبھی نہیں برقرار رکھتا ہے. 2. طریقوں
یہ طریقوں کا استعمال کرتے ہیں جیسے شامل کریں ()، صاف ()، پر مشتمل ہے ()، isEmpty ()، ہٹا دیں () اور سائز (). یہ طریقوں کا استعمال کرتا ہے جیسے اضافی ()، addAll ()، حاصل ()، lastIndexOf ()، ListIterator () کے ساتھ یا پیرامیٹر کے بغیر، ()، سیٹ ()، اور subList () کو ہٹا دیں. 3. ڈپلیکیٹ
یہ کبھی بھی نقل و حمل کی اجازت نہیں دیتا ہے اور اس طرح کی صورتوں میں، قدر ختم ہو جاتا ہے. یہ نقل کی اجازت دیتا ہے. 4. نال اقدار
اس میں زیادہ سے زیادہ صرف ایک نیل قدر ہوسکتا ہے. اس میں کوئی بھی بے شمار اقدار ہوسکتے ہیں. 5. Iterator کا استعمال () & listterter ()
یہ صرف طریقہ کار اسٹرٹر کا استعمال کرتا ہے (). یہ اسٹرٹر دونوں (اور اس کے ساتھ ساتھ فہرست کا استعمال کرتا ہے (). 6. ورثہ کلاس کی موجودگی
کوئی ورثہ کلاس نہیں ہے. اس کے طور پر ایک وییکٹر کے طور پر کہا جاتا ہے لگیسی کلاس کے طور پر. 7. عمل درآمد
سیٹ سیٹ انٹرفیس میں سے کچھ لاگو ہاس سیٹ، لنک ہاس سیٹ اور درخت سیٹ ہیں. فہرست فہرست انٹرفیس میں سے کچھ لنکڈ لیسٹ اور آرائسٹسٹ ہیں. امید ہے، ہم سیٹ اور فہرست کے درمیان ممکنہ فرق میں شامل ہیں. اگر آپ محسوس کرتے ہیں کہ ہم نے کچھ چھوڑا ہے، تو براہ مہربانی ہمیں بتائیں.