سرفصل دوره

آموزش جامع Iterator و Iterable در جاوا

77,400 تومان
  • .دسترسی مادام العمر به ویدئوهای دوره
  • .دسترسی رایگان به آپدیت های دوره
  • .تدریس روان و ساده با کیفیت بالا
  • .سرفصل های بسیار جامع و غنی
1748فارغ التحصیل
avatar

مهدی عباسی

مهندس ارشد کارشناسی کامپیوتر
5

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و ....

نظرات دانشجویان

هنوز اینجا کامنتی ثبت نشده

آموزش جامع Iterator و Iterable در جاوا

آموزش جامع Iterator و Iterable در جاوا

در این فصل می‌خواهیم کلاس‌ها و اینترفیس های پر کاربرد پکیج java.util را بررسی کنیم. در گذشته با چند نمونه از کالکشن ها مانند ArrayList و HashMap کار کردیم در این جلسه و چند جلسه بعدی می خواهیم ساختار انواع کالکشن ها را دقیق تر بررسی کنیم.

در این جلسه می‌خواهیم اینترفیس Iterable را بررسی کنیم.

در تصویر زیر می‌توانید ساختار کالکشن‌ها را مشاهده کنید:

ساختار کالکشن ها

 

همانطور که در تصویر مشاهده می‌کنید رنگ قرمز نشان دهنده interface و رنگ سبز نشان دهنده  class ها است. و برای ساخت نمونه ای از کالکشن‌ها باید از کلاس ها(رنگ سبز) نمونه تعریف کرد. اولین کالکشن Iterable است و بقیه کالکشن ها از آن ارث برده اند.

هنگام کار با آرایه‌ها برای دستیابی به عناصر آرایه از اندیس یا شماره خانه استفاده می‌کردیم، اما در Iterator به صورت سریالی عناصر را تک به تک تا انتها طی می‌کند.

آرایه‌ها خاصیت Iterable ندارند اما لیست‌ها و انواع کالکشن ها خاصیت Iterable دارند و می‌توانیم به کمک Iterator روی آن‌ها حرکت کنیم. کالکشن‌هایی که خاصیت Iterable دارند می توانیم به کمک متد forEach روی آن‌ها حرکت کنیم.

Iterator دو متد دارد:

  • hasNext: این متد بررسی می‌کند کالکشن به انتها رسیده یا خیر.
  • next: این متد محتوای عنصر را برمی‌گرداند.
public static void main(String[] args) {

       List<Integer> list1=new ArrayList<>();

       list1.add(23);

       list1.add(2000);

       list1.add(450);

       list1.add(89);

       list1.add(148);


       Iterator<Integer> iterator=list1.iterator();

       while (iterator.hasNext()){

           System.out.print(iterator.next()+"\t");

       }

   }

خروجی

23        2000     450       89        148

همچنین می‌توانیم به کمک تابع forEach روی کالکشن حرکت کنیم.     

List<Integer> list1=new ArrayList<>();

       list1.add(23);

       list1.add(2000);

       list1.add(450);

       list1.add(89);

       list1.add(148);


       list1.forEach(item-> System.out.print(item));

خروجی

23        2000     450       89        148

همانطور که گفتیم آرایه ها قابلیت Iterable ندارند اما می‌توان آرایه را به لیست تبدیل کرد و عملیات مورد نظر را روی آن انجام داد به عنوان مثال یک آرایه از String داریم و می‌خواهیم با Iterator روی آن حرکت کنیم.

String[] names={"amir","ahmad","reza","ali","mehdi"};

       List<String> list2=Arrays.asList(names);


       Iterator iterator2=list2.iterator();

       while(iterator2.hasNext()){

           System.out.print(iterator2.next()+"\t");

       }

خروجی

amir       ahmad   reza       ali           mehdi

 

سپاسگزاریم که همراه ما هستید

امیدواریم که این آموزش مورد توجه شما دوستان عزیز قرار گرفته باشد و بتواند شما را در راه رسیدن به اهدافتان کمک کند. برای دسترسی بیشتر به جلسات این دوره از آموزش جاوا پیشرفته کلیک کنید.

وخوشحال می‌شویم هر گونه پیشنهاد یا انتقادی دراین زمینه بود برای ما در قسمت نظرات ارسال کنید.