اگر آپ ایک پر کام کر رہے ہیں اور کہتے ہیں کہ آپ ایک ترتیب پرنٹ کرنا چاہتے ہیں ، اسی جگہ جاوا میں الٹراٹر تصویر میں آتا ہے۔ اس طرح آپ ہر لائن کے پرنٹ اسٹیٹمنٹ کا اضافہ کیے بغیر بھی تسلسل حاصل کرسکتے ہیں۔ تو ، آئیے اندر Iterator کے بارے میں جانتے ہیں .
ذیل میں اس ماڈیول میں عنوانات شامل ہوں گے:
آو شروع کریں!
بگ ڈیٹا اور ہڈوپ کے مابین فرق
تکرار کرنے والا کیا ہے؟
جاوا بنیادی طور پر چار مختلف کرسروں کی حمایت کرتا ہے۔ وہ ہیں:
- گنتی
- Iterator
- فہرست سازی
- سپلیٹر
ان میں سے ہر جاوا کرسر کے کچھ فوائد اور خرابیاں ہیں۔ ہم اس مضمون میں Iterator پر توجہ مرکوز کریں گے۔
اب ، جاوا میں ایک ریڈیٹر کیا ہے؟
Iterator ایک انٹرفیس ہے جو کلیکشن فریم ورک سے تعلق رکھتا ہے۔ یہ آپ کو مجموعہ کو عبور کرنے کی اجازت دیتا ہے ، ڈیٹا عنصر تک رسائی حاصل کرتا ہے اور مجموعہ کے ڈیٹا عناصر کو ہٹا دیتا ہے۔
یہ ایک یونیورسل ریٹرٹر کے طور پر بھی سمجھا جاتا ہے کیونکہ آپ اسے کسی پر بھی لاگو کرسکتے ہیں چیز. کسی آئٹریٹر کا استعمال کرکے ، آپ پڑھ سکتے ہیں اور آپریشن کو ہٹا سکتے ہیں۔ یہ ایک بہتر ورژن ہے گنتی کسی عنصر کی صلاحیت کو ختم کرنے کی اضافی خصوصیات کے ساتھ۔
جاوا Iterator کے طریقے
جاوا آئٹرٹر کے پاس کل 4 طریقے ہیں۔ آئیے ان کو تفصیل سے سمجھیں۔
طریقے | تفصیل |
---|---|
forEachRemaining (کھپت) | یہ اس وقت تک ہر عنصر پر اعمال انجام دیتا ہے جب تک کہ تمام عناصر پر کارروائی نہ ہو۔ اس کے علاوہ جب تک کہ کارروائی کے ذریعہ کوئی استثناء نہ ڈال دیا جائے |
اگلا () | یہ واپسی اگر درست ہونے کے دوران عناصر کی ایک بڑی تعداد کا سامنا کرنا پڑتا ہے تو ایک صحیح قدر۔ |
اگلے() | یہ واپسی تکرار کے دوران اگلا مخصوص عنصر۔ |
دور() | یہ طریقہ rموجودہ عنصر کو فروغ دیتا ہے۔ پھینک دیتا ہے IllegalStateException اگر کال ریموٹ () کو کال کرنے کی کوشش کی گئی ہے جس سے قبل اگلے () پر کال نہیں ہوگی۔ |
بولین ہے اگلا () | اگر صحیح ہونے پر زیادہ عنصر ہوں تو یہ درست ہو گا۔ |
مثال:
کلاس کا طریقہ {عوامی جامد باطل اہم (سٹرنگ [] آرگس) اری لسٹ فہرست = نئی اری لسٹ () list.add ('E') list.add ('D') list.add ('U') list.add ('R ') list.add (' E ') list.add (' K ') list.add (' A ') // فہرست کو عبور کرنے کے لئے Iterator Iterator iterator = list.iterator () System.out.println (' فہرست عناصر کی فہرست : ') جبکہ (iterator.hasNext ()) System.out.print (iterator.next () +' ') System.out.println ()}
آؤٹ پٹ: تعلیم
آئیے جاوا میں لسٹریٹر پر ایک نظر ڈالیں۔
جاوا میں لسٹ ایجریٹر
نزاکت میں ایک پیرامیٹر کیا ہے؟
فہرست سازی جاوا میں ایک ایسا آئٹریٹر ہے جو صارفین کو دونوں سمتوں میں جمع کرنے کی اجازت دیتا ہے۔ اس میں درج ذیل طریقے ہیں:
طریقے | طریقہ اور تفصیل |
---|---|
باطل اضافہ (اعتراض اعتراض) | عنصر کے سامنے لسٹ میں اعتراض داخل کرتا ہے جو اگلی کال کے ذریعہ اگلی () کو واپس ہوجائے گا۔ |
بولین ہے اگلا () | اگلا عنصر ہو تو صحیح لوٹتا ہے۔ بصورت دیگر ، غلط کو لوٹاتا ہے۔ |
بولین ہے | اگر کوئی پچھلا عنصر موجود ہو تو صحیح لوٹتا ہے۔ بصورت دیگر ، غلط کو لوٹاتا ہے۔ |
اگلا اعتراض () | اگلا عنصر لوٹاتا ہے۔ اگر اگلا عنصر موجود نہ ہو تو NoSuchElementException پھینک دیا جاتا ہے۔ |
اگلا اگلا انڈیکس () | اگلے عنصر کا اشاریہ لوٹاتا ہے۔ اگر اگلا عنصر نہیں ہے تو ، فہرست کا سائز لوٹاتا ہے۔ |
سابقہ اعتراض () | پچھلا عنصر لوٹاتا ہے۔ اگر کوئی سابقہ عنصر موجود نہ ہو تو NoSuchElementException پھینک دیا جاتا ہے۔ |
سابقہ انڈیکس () | پچھلے عنصر کی اشاریہ لوٹاتا ہے۔ اگر کوئی سابقہ عنصر نہیں ہے تو ، -1 واپس کرتا ہے۔ |
باطل کو ختم () | موجودہ عنصر کو فہرست سے ہٹاتا ہے۔ اگلے () یا پچھلے () کو طلب کرنے سے پہلے ہٹانے کو () کہا جاتا ہے تو ایک غیر قانونی اسٹیٹ ایکسپینشن پھینک دیا جاتا ہے۔ |
باطل سیٹ (اعتراض اعتراض) | موجودہ عنصر پر اعتراض تفویض کرتا ہے۔ یہ وہ عنصر ہے جو آخری بار اگلے () یا پچھلے () پر کال کے ذریعہ واپس آیا تھا۔ |
مثال:
عوامی کلاس کی فہرستیں {عوامی جامد باطل اہم (سٹرنگ آرگس []) {// ایک سرنی کی فہرست بنائیں ArrayList al = new ArrayList () // سرنی فہرست میں عناصر شامل کریں al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // مندرجات کو ظاہر کرنے کے لئے ایٹریٹر استعمال کریں al System.out.print ('al کا اصل مندرجات') Iterator itr = al.iterator () جبکہ (itr.hasNext ()) ject آبجیکٹ عنصر = itr.next () System.out.print (عنصر + '') )} System.out.println () // آبجیکٹ ہونے کی وجہ سے اشیاء میں ترمیم کریں لٹریٹ لیٹر = al.listIterator () جبکہ (litr.hasNext ()) . سسٹم آؤٹ.پرینٹ ('ترمیم شدہ مندرجات الف:') اسٹر = ایل ایٹریٹر () جبکہ (itr.hasNext ()) ject آبجیکٹ عنصر = itr.next () System.out.print (عنصر + '') . System.out.println () // اب ، فہرست کو پیچھے کی طرف دکھائیں سسٹم آؤٹ.پرنٹ ('ترمیم شدہ فہرست کو پیچھے کی طرف:') جبکہ (litr.hasPreLive ()) ject آبجیکٹ عنصر = litr.pree () System.out پرنٹ (عنصر + '')} System.out.println ()}
آؤٹ پٹ:
اصلکے مندرجات:E D U R E K A
ترمیم شدہکے مندرجات:ہے+ڈی+U+R+ہے+TO+ اے +
ترمیم شدہپیچھے کی فہرست:TO+TO+ہے+R+U+ڈی+ اور +
سی ++ میں فبوناکی تسلسل
اب جاوا میں اس ریٹرٹر انٹرفیس کے فوائد اور حدود پر ایک نظر ڈالتے ہیں۔
جاوا میں Iterator کے فوائد
جاوا میں آئٹریٹر کے درج ذیل فوائد ہیں۔
- آپ کسی بھی کلیکشن کلاس کے ل these ان آئٹروں کو استعمال کرسکتے ہیں۔
- جاوا میں Iterator دونوں کی حمایت کرتا ہے پڑھیں اس کے ساتھ ساتھ دور آپریشنز
- اگر آپ استعمال کررہے ہیں لوپ کے لئے تم نہیں کرسکتے کلیکشن کو اپ ڈیٹ (شامل / ہٹانا) کریں جبکہ ایک آیتریٹر کی مدد سے آپ آسانی سے کلیکشن کو اپ ڈیٹ کرسکتے ہیں۔
- یہ اکٹھا کرنے والے API کے لئے ایک یونیورسل کرسر ہے۔
- طریقہ کے نام بہت آسان ہیں اور استعمال میں بہت آسان ہیں۔
جاوا میں Iterator کی حدود
جاوا میں پڑنے والوں میں مندرجہ ذیل خرابیاں ہیں۔
- آپ صرف سمت تکرار انجام دے سکتے ہیں ، وہ ہے یونی ڈائیکشنل آئٹرٹر۔
- Iterator کے ذریعہ کسی نئے عنصر کی تبدیلی اور اضافے کی حمایت نہیں کی جاتی ہے۔
- لسٹیٹریٹر سب سے زیادہ طاقت ور اعادار ہے لیکن یہ صرف لاگو کلاسوں کے لئے ہی قابل اطلاق ہے۔ لہذا یہ یونیورسل ریٹرٹر نہیں ہے۔
- جب آپ CRUD آپریشنز استعمال کرتے ہیں تو ، یہ تخلیق اور اپ ڈیٹ کرنے کی کارروائیوں کی حمایت نہیں کرتا ہے۔
- جب آپ اس کا موازنہ اسپلٹائٹر سے کرتے ہیں تو ، یہ آپ کو متوازی عناصر کی تکرار کرنے نہیں دیتا ہے۔ اس کا مطلب ہے کہ یہ صرف ترتیب دہندگی کی حمایت کرتا ہے۔
- یہ اعداد و شمار کی ایک بڑی مقدار کو اعادہ کرنے کے لئے بہتر کارکردگی کی حمایت نہیں کرتا ہے۔
یہ ہمارے اس مضمون کے اختتام تک پہنچا ہے جہاں ہمیں یہ معلوم ہوا ہے کہ جاوا میں ایڈیٹر کس طرح کام کرتا ہے۔ امید ہے کہ اس سبق کے ساتھ جو کچھ آپ کے ساتھ شیئر کیا گیا ہے اس کے ساتھ آپ صاف ہیں۔
اگر آپ کو یہ مضمون 'جاوا میں آئٹریٹر' سے متعلق معلوم ہوا تو ، چیک کریں ایک قابل اعتماد آن لائن سیکھنے کی کمپنی جس کا نیٹ ورک 250،000 سے زیادہ مطمئن سیکھنے والوں کے نیٹ ورک کے ساتھ پوری دنیا میں پھیل گیا ہے۔
ہم آپ کے سفر کے ہر قدم میں آپ کی مدد کرنے کے لئے یہاں موجود ہیں ، اس کے علاوہ ، ہم ایک نصاب تیار کرتے ہیں جو طلباء اور پیشہ ور افراد کے لئے تیار کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور ہائبرنیٹ اینڈ اسپرنگ جیسے جاوا کے مختلف فریم ورک کے ساتھ ساتھ جاوا کے دونوں بنیادی خیالات کے ساتھ تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔
اگر آپ کو کوئی سوال آتا ہے تو ، بلا جھجھک اپنے تمام سوالات 'جاوا میں آئٹریٹر' کے تبصرے کے سیکشن میں پوچھیں اور ہماری ٹیم جواب دینے میں خوش ہوگی۔