💎 پیمایش کالکشن ها با Iterator
🔆 ایتریتور یک واسط است که برای پیمایش ترتیبی یک کالکشن (مانند ست، اری لیست، لینکدلیست و...) به کار برده میشود.
🔅 ایتریتور اصطلاحا یک ایتریتورِ universal میباشد. یعنی از این واسط میتوان برای همه ی کالکشن ها استفاده کرد. در واقع همه ی کالکشن ها دارای متد iterator هستند که یک شی از جنس ایتریتور را بازگشت میدهد
🔅 متد های واسط Iterator:
🟡 hasNext()
این متد بررسی میکند که آیا همچنان آیتمی داخل کالکشن وجود دارد یا نه. از این متد برای پیمایش کالکشن استفاده میشود:
List<Integer> myList = new ArrayList<>();
Iterator it = myList.iterator();
while(it.hasNext()){ ....}
🟡 next()
این متد آیتم بعدی کالکشن را بازگشت میدهد. در صورتی که ایتم بعدی وجود نداشته باشد، استثنای NoSuchElementException ایجاد خواهد کرد.
🟡 remove()
این متد آیتم انتخاب شده (بوسیله next()) را حذف میکند. البته در نظر داشته باشید که از این متد فقط یکبار بعد از هر next میتوان استفاده کرد.
🔍 درک مفهومی
ایتریتور دارای یک مکان نما (cursor) میباشد. بصورت پیش فرض مکان نما قبل از اولین آیتم لیست قرار گرفته است. زمانی که متد next رو صدا میزنیم، مکان نما بر روی ایتم اول قرار میگیره و بهمین ترتیب با هربار صدا زدن متد next میتوان آیتم های لیست موردنظر را پیمایش کرد.
ضمنا به یاد داشته باشید که مکان نمای ایتریتور فقط رو به جلو حرکت میکند.
#Iterator
———
☕️ @pieceJava
🔆 ایتریتور یک واسط است که برای پیمایش ترتیبی یک کالکشن (مانند ست، اری لیست، لینکدلیست و...) به کار برده میشود.
🔅 ایتریتور اصطلاحا یک ایتریتورِ universal میباشد. یعنی از این واسط میتوان برای همه ی کالکشن ها استفاده کرد. در واقع همه ی کالکشن ها دارای متد iterator هستند که یک شی از جنس ایتریتور را بازگشت میدهد
🔅 متد های واسط Iterator:
🟡 hasNext()
این متد بررسی میکند که آیا همچنان آیتمی داخل کالکشن وجود دارد یا نه. از این متد برای پیمایش کالکشن استفاده میشود:
List<Integer> myList = new ArrayList<>();
Iterator it = myList.iterator();
while(it.hasNext()){ ....}
🟡 next()
این متد آیتم بعدی کالکشن را بازگشت میدهد. در صورتی که ایتم بعدی وجود نداشته باشد، استثنای NoSuchElementException ایجاد خواهد کرد.
🟡 remove()
این متد آیتم انتخاب شده (بوسیله next()) را حذف میکند. البته در نظر داشته باشید که از این متد فقط یکبار بعد از هر next میتوان استفاده کرد.
🔍 درک مفهومی
ایتریتور دارای یک مکان نما (cursor) میباشد. بصورت پیش فرض مکان نما قبل از اولین آیتم لیست قرار گرفته است. زمانی که متد next رو صدا میزنیم، مکان نما بر روی ایتم اول قرار میگیره و بهمین ترتیب با هربار صدا زدن متد next میتوان آیتم های لیست موردنظر را پیمایش کرد.
ضمنا به یاد داشته باشید که مکان نمای ایتریتور فقط رو به جلو حرکت میکند.
#Iterator
———
☕️ @pieceJava
👍9