מהו Iterator ב- Java וכיצד להשתמש בו?



הבלוג Iterator in Java ייתן לך היכרות מתאימה למה זה איטרטור וכיצד להשתמש בהם ב- Java עם כמה דוגמאות

אם אתה עובד על ותגיד שאתה רוצה להדפיס רצף, שם איטרטור בג'אווה נכנס לתמונה. בדרך זו תוכלו לקבל את הרצף גם מבלי להוסיף את הצהרת ההדפסה עבור כל שורה ושורה. אז בואו ללמוד על איטרטור ב .

להלן הנושאים שאעסוק במודול זה:





בואו נתחיל!

מה זה איטרטור?

Java תומכת בעיקר בארבעה סמנים שונים. הם הם:



  • ספירה
  • איטרטור
  • ListIterator
  • ספליטר

לכל אחד מהסמנים הללו יש כמה יתרונות וחסרונות. אנו נתמקד באיטרטור במאמר זה.

פונקציית חבר סטטי c ++

עכשיו, מה זה איטרטור בג'אווה?

איטרטור הוא ממשק השייך למסגרת אוספים. זה מאפשר לך לחצות את האוסף, לגשת לאלמנט הנתונים ולהסיר את אלמנטים הנתונים של האוסף.



זה נחשב גם לאיטרטור אוניברסלי שכן אתה יכול להחיל אותו על כל אחד מהם לְהִתְנַגֵד. על ידי שימוש ב- Iterator, באפשרותך לבצע פעולות קריאה והסרה. זו גרסה משופרת של ספירה עם פונקציות נוספות של יכולת הסרה של אלמנט.

שיטות איטרטור Java

לאיטרטור Java יש 4 שיטות בסך הכל. בואו נבין אותם בפירוט.

למידת אינפורמטיקה שלב אחר שלב
שיטותתיאור
forEachRemaining (צריכה)היא מבצעת את הפעולות על כל אחד מהאלמנטים עד אשר כל האלמנטים עובדו, אלא אם כן. גם עד שנזרק חריג מהפעולה.
hasNext ()זֶה החזרות ערך אמיתי אם נתקלים במספר גבוה של אלמנטים במהלך איטרציה.
הַבָּא()זֶה החזרות האלמנט שצוין הבא במהלך החזרה.
לְהַסִיר()שיטה זו rמחיק את האלמנט הנוכחי. זורק IllegalStateException אם נעשה ניסיון להתקשר להסרה () שלא קודמת לה שיחה ל- next ().
יש בוליאני Next ()זה מחזיר נכון אם לאיתור יש יותר אלמנטים.

דוגמא:

class Method {public static void main (String [] args) ArrayList list = new ArrayList () 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 ()}}

פלט: EDUREKA

בואו נסתכל על ListIterator בג'אווה.

ListIterator בג'אווה

ListIterator ב- Java הוא אינטרטור המאפשר למשתמשים לעבור דרך האוסף בשני הכיוונים. הוא מכיל את השיטות הבאות:

שיטותשיטה ותיאור
הוסף בטל (אובייקט אובייקט) ההוספות מתנגדות לרשימה מול האלמנט שיוחזר בשיחה הבאה הבאה ().
יש בוליאני Next () מחזירה אמת אם יש את האלמנט הבא. אחרת, מחזיר שקר.
יש בוליאני הקודם () מחזירה אמת אם יש אלמנט קודם. אחרת, מחזיר שקר.
התנגד הבא () מחזיר את האלמנט הבא. NoSuchElementException נזרק אם אין את האלמנט הבא.
int nextIndex () מחזיר את האינדקס של האלמנט הבא. אם אין את האלמנט הבא, מחזיר את גודל הרשימה.
אובייקט קודם () מחזיר את האלמנט הקודם. NoSuchElementException נזרק אם אין אלמנט קודם.
int previousIndex () מחזיר את האינדקס של האלמנט הקודם. אם אין אלמנט קודם, מחזיר -1.
בטל הסר () מסיר את האלמנט הנוכחי מהרשימה. IllegalStateException נזרק אם remove () נקרא לפני הבא () או הקודם ().
ערכת ריק (אובייקט אובייקט) הקצאות מתנגדות לאלמנט הנוכחי. זהו האלמנט שהוחזר לאחרונה בשיחה אל הבא () או הקודם ().

דוגמא:

רשימות מחלקה ציבורית {public static void main (String args []) {// צור רשימת מערכים ArrayList al = ArrayList new () // הוסף אלמנטים לרשימת המערכים 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 ()) {Element element = itr.next () System.out.print (element + '' )} System.out.println () // שנה אובייקטים שחוזרים עליהם ListIterator litr = al.listIterator () ואילו (litr.hasNext ()) {Element element = litr.next () litr.set (element + '+') } System.out.print ('תוכן שונה של al:') itr = al.iterator () בעוד (itr.hasNext ()) {Element element = itr.next () System.out.print (element + '') } System.out.println () // כעת, הציגו את הרשימה לאחור System.out.print ('הרשימה השתנתה לאחור:') ואילו (litr.hasPrevious ()) {Element element = litr.previous () System.out. הדפס (אלמנט + '')} System.out.println ()}}

תְפוּקָה:

מְקוֹרִיתוכן של אל:E D U R E K A
שונהתוכן של אל:IS+ד+U+ר+IS+ל+ A +
שונהרשימת אחורה:ל+ל+IS+ר+U+ד+ AND +

עכשיו, בואו נסתכל על היתרונות והמגבלות של ממשק איטרטור זה בג'אווה.

יתרונות Iterator בג'אווה

ל- Iterator ב- Java יש את היתרונות הבאים.

  • אתה יכול להשתמש באיטרטורים אלה לכל כיתת אוסף.
  • Iterator ב- Java תומך בשניהם לקרוא ממש כמו לְהַסִיר פעולות.
  • אם אתה משתמש לולאה אתה לא יכול עדכן (הוסף / הסר) את האוסף ואילו בעזרת איטרטור תוכל לעדכן את האוסף בקלות.
  • זהו סמן אוניברסלי עבור ממשק ה- API לאיסוף.
  • שמות השיטות פשוטים מאוד וקלים מאוד לשימוש.

מגבלות של איטרטור בג'אווה

לאיתטורים בג'אווה החסרונות הבאים:

  • אתה יכול לבצע איטרציה של כיוון קדימה בלבד, כלומר איטרטור חד כיווני.
  • החלפת תוספת של אלמנט חדש אינה נתמכת על ידי האיטרטור.
  • ListIterator הוא האיטרטור החזק ביותר אך הוא חל רק על כיתות מיושמות ברשימה. אז זה לא איטרטר אוניברסלי.
  • כאשר אתה משתמש בפעולות CRUD, הוא אינו תומך בפעולות היצירה והעדכון.
  • כאשר אתה משווה את זה עם ספליטרטור, זה לא מאפשר לך לחזור על אלמנטים במקביל. פירוש הדבר שהוא תומך רק באיטרציה רציפה.
  • זה לא תומך בביצועים טובים יותר כדי לחזור על נפח נתונים גדול.

זה מביא אותנו לסוף מאמר זה בו למדנו על אופן פעולתו של איטרטור בג'אווה. מקווה שברור לך עם כל מה ששותף איתך במדריך זה.

ערימה וערמה בג'אווה

אם מצאת מאמר זה בנושא 'איטרטור בג'אווה' רלוונטי, עיין בכתובת חברת למידה מקוונת אמינה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם.

אנו כאן כדי לעזור לך בכל שלב בדרכך, מלבד זאת, אנו מגישים תוכנית לימודים המיועדת לסטודנטים ואנשי מקצוע המעוניינים להיות מפתח Java. הקורס נועד לתת לך יתרון לתכנות ג'אווה ולהכשיר אותך למושגי ג'אווה מרכזיים ומתקדמים יחד עם מסגרות Java שונות כמו Hibernate & Spring.

אם אתה נתקל בשאלות כלשהן, אל תהסס לשאול את כל השאלות שלך בקטע ההערות של 'איטרטור בג'אווה' והצוות שלנו ישמח לענות.