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


آموزش جامع 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

 

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

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

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


نظر بدهید نظر شما در تصمیم دیگران اثرگذار است. لطفا برای ما و همراهان درسمن نظر خود را بنویسید.
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات : جلسه
مدت زمان : 2057 دقیقه
حجم دوره : 6/35 گیگابایت
سطح مهارت : پیشرفته
وضعیت دوره : پایان یافته
تعداد دانشجویان : 1040
: میانگین امتیاز
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

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