جاوا میں متحرک سرنی کیا ہے؟



جاوا میں متحرک سرنی ایک قسم کی صف ہے جس میں خود کار طریقے سے سائز تبدیل کرنے کے لئے بہت بڑی بہتری ہے۔ ارایوں کی واحد حد یہ ہے کہ یہ ایک مقررہ سائز ہے۔

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

جاوا میں متحرک صف کا تعارف

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





  • فوری تلاش . اسی طرح صفوں کی طرح ، جب کسی دیئے گئے انڈیکس میں عنصر کی بازیافت کرتے وقت O (1) وقت لگتا ہے۔



  • متغیر سائز . ہم جتنے چاہیں عنصر داخل کرسکتے ہیں اور اس کے انعقاد کے لئے ایک متحرک صف اسی کے وسیلے میں بڑھ جائے گی۔

  • کیش دوستانہ . ارے کی طرح ، متحرک صفیں اشیاء کو ایک دوسرے کے ساتھ میموری میں رکھ سکتی ہیں ، اس طرح کیچز کا موثر استعمال کیا جاسکتا ہے۔

    مربع میں تاریخ کے لئے اعداد و شمار کی قسم



ہمارے کوڈ میں متحرک صفوں کے استعمال کے ل down کچھ اتار چڑھاؤ موجود ہیں۔ اگرچہ ، ہم زیادہ تر درخواستوں میں کسی بھی چیز سے زیادہ متحرک صفوں کا استعمال کرتے ہیں کچھ معاملات ایسے بھی ہیں جہاں وہ اپنی حدود کی وجہ سے زیادہ ترجیحی انتخاب نہیں بن پاتے ہیں۔

  • سست بدترین کیس ضمیمہ . عام طور پر ، جب متحرک صف کے اختتام پر کسی نئے عنصر کا اضافہ ہوتا ہے تو ، یہ ایک موقع پر O (1) لیتا ہے۔ تاہم ، اگر متحرک صف میں کسی نئی شے کے ل ind مزید اشارے نہیں ہیں ، تو پھر اسے بڑھانا ہوگا ، جو ایک وقت میں O (n) لے جاتا ہے۔

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

نیچے دیئے گئے آراگراموں سے پتہ چلتا ہے کہ کس طرح سرائیاں اصل وقت میں کام کرتی ہیں اور یہ بتاتی ہیں کہ عناصر کو کس طرح کھڑا کیا جاتا ہے۔ اس سے یہ بھی ظاہر ہوتا ہے کہ اوسط کیس اور سرنی افعال کی بدترین صورت کے لئے ہدایات کس طرح تبدیل ہوتی ہیں۔

صف - جاوا میں متحرک سرنی - ایڈیورکا

سائز بمقابلہ صلاحیت

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

c ++ ترتیب الگورتھم

دوگنا ضمیمہ

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

عنصر کو حذف کرنا

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

ایک صف کا سائز تبدیل کرنا

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

ذیل میں کسی ایسے پروگرام کی مثال دی جارہی ہے جہاں صف کا سائز پورا ہو جاتا ہے اور نئے عناصر کو ایک نئے ڈبل سائز کے سرے میں کاپی کیا جاتا ہے۔ عنصر جو ایک تار عنصر ہے جسے 'مہاویر' کہا جاتا ہے وہ سائز 3 کی پہلے ہی مکمل صف میں شامل ہے۔

درآمد java.util.ArrayList درآمد java.util.Arrays درآمد java.util. سکینر پبلک کلاس AddingItemsDynamically {عوامی جامد باطل مرکزی (سٹرنگ آرگس []) {سکینر sc = نیا سکینر (System.in) System.out.println (' سرنی کا سائز درج کریں :: ') انٹ سائز = sc.nextInt () سٹرنگ مائی آری [] = نیا اسٹرنگ [سائز] سسٹم آؤٹ.پریٹلن (' صف کے عناصر درج کریں (سٹرنگز :: :: ')) کے لئے (انٹری) i = 0 i

آؤٹ پٹ:

اس کے ساتھ ، ہم جاوا آرٹیکل میں متحرک سرنی کے اختتام پر پہنچے ہیں۔ مجھے امید ہے کہ آپ کو متحرک صفوں کے ساتھ کام کرنے کا اندازہ ہوگا۔

مشین سیکھنا سیکھنے کی شرطیں

چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس طلباء اور پیشہ ور افراد کے لئے ڈیزائن کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور ہائبرنیٹ اینڈ اسپرنگ جیسے جاوا کے مختلف فریم ورک کے ساتھ ساتھ جاوا کے دونوں بنیادی خیالات کے ساتھ تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔

ہمارے لئے ایک سوال ہے؟ برائے کرم اس 'جاوا میں متحرک صف' کے بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد سے جلد آپ کے پاس واپس آجائیں گے۔