CodeGym /בלוג Java /Random-HE /שיטת Java ArrayList addAll()‎
John Squirrels
רָמָה
San Francisco

שיטת Java ArrayList addAll()‎

פורסם בקבוצה
אם אתה צריך להוסיף את כל האלמנטים של אוסף ArrayList() אחד לאחר, אתה יכול להשתמש בשיטת addAll() של המחלקה Java ArrayList . במאמר זה, אני הולך להסביר כיצד שיטה זו פועלת ולספק כמה דוגמאות קוד.

חתימת שיטת ArrayList addAll()

ישנן שתי גרסאות של שיטת java.util.ArrayList.addAll . הנה הם.
boolean addAll(Collection<? extends E> c)
שיטה זו מחזירה true אם הרשימה שונתה כתוצאה מהקריאה, אבל הכי חשוב, היא מוסיפה את כל הרכיבים של האוסף שצוין לסוף רשימה זו, בסדר שהם מוחזרים על ידי האיטרטור של האוסף שצוין. רכיב c הוא הרשימה שתתווסף ל- ArrayList שלך . כמו כן, השיטה זורקת NullPointerException אם האוסף שצוין הוא null.
boolean addAll(int index, Collection<? extends E> c)
שיטה זו מוסיפה את כל האלמנטים באוסף c שצוין לרשימה זו, החל באינדקס המיקום שצוין.

דוגמה לתחביר ArrayList addAll().

כך נראית הקריאה לשיטת ArrayList addAll() בתוכנת Java:
myList.addAll(myNewList))
כאשר myList היא ArrayList המקורית ו- myNewList היא רשימה, שכל הערכים שלה יתווספו ל- myList אם הם קיימים.
myList.addAll(2, myNewList))
גרסה של השיטה ArrayList addAll() עם שני פרמטרים. כל האלמנטים מ- myNewList יתווספו ל- myList , והאלמנט הראשון myNewList[0] יהפוך ל- myList[2] , myNewList[1] כעת הוא myList[3] וכן הלאה. האלמנטים מהרשימה המקורית, החל מ- מספר 2, מועברים לזנב הרשימה המשולבת החדשה.

ArrayList קוד addAll() דוגמאות

עכשיו הגיע הזמן לכמה דוגמאות קוד. בואו ניצור רשימה של החברים שלנו, ונקרא לזה 'חברים', ונוסיף שם את שמותיהם. נגיד, התחלנו בקולג' והכרנו כמה חברים חדשים בבת אחת. זה רגע טוב ליצור עבורם רשימת חברים חדשה. הזמן עבר, וידאתם שהחברים החדשים שלכם יהיו אמיתיים פעם אחת, אז החלטתם להעביר אותם לרשימת החברים הראשית. אתה יכול לעשות זאת באמצעות שיטת addAll() . בתוכנית נדפיס לקונסולה את רשימת החברים הראשונית, את רשימת החברים החדשים, את רשימת החברים המעודכנת וכן את הערך הבוליאני המוחזר בשיטת addAll( ) . זה מחזיר אמת אם הרשימה המקורית שונתה עקב פעולת השיטה ו-false אם זה לא קרה.
import java.util.ArrayList;
import java.util.List;

public class AddAllDemo {
       public static void main(String[] args) {

           List<String> friends = new ArrayList<>();
           friends.add("Johnny");
           friends.add("Ivy");
           friends.add("Rick");
           System.out.println(friends);
           List<String> newFriends = new ArrayList<>();
           newFriends.add("Andrew");
           newFriends.add("Alex");
           newFriends.add("Neil");
           System.out.println(newFriends);
           //let's print out the value addAll() method returns
           //here it's true because list friends was changed
           System.out.println(friends.addAll(newFriends));
           System.out.println("My new list with new friends added: ");
           System.out.println(friends);
       }
   }
הפלט הוא:
[ג'וני, אייבי, ריק] [אנדרו, אלכס, ניל] נכון הרשימה החדשה שלי עם חברים חדשים נוספה: [ג'וני, אנדרו, אלכס, ניל, אייבי, ריק]
אם נעשה את אותה פעולה אבל ננסה להוסיף רשימה ריקה לחברים, השיטה תעבוד, אבל היא תחזיר false, לא נכון מאחר והרשימה המקורית לא השתנתה.
import java.util.ArrayList;
       import java.util.List;

public class AddAllDemo3 {
   public static void main(String[] args) {
       List<String> friends = new ArrayList<>();
       friends.add("Johnny");
       friends.add("Ivy");
       friends.add("Rick");
       System.out.println(friends);
       List<String> newFriends = new ArrayList<>();
       System.out.println(newFriends);
       System.out.println(friends.addAll(newFriends));
       System.out.println("My new list with new friends added: ");
       System.out.println(friends);
   }
}
הפלט הוא:
[ג'וני, אייבי, ריק] [] false הרשימה החדשה שלי עם חברים חדשים נוספה: [ג'וני, אייבי, ריק]
כעת ננסה את השיטה addAll() עם שני פרמטרים.
boolean addAll(int index, Collection<? extends E> c)
בואו נוסיף שוב חברים חדשים לרשימה, לא בזנב, אלא באמצע. נגיד מיד אחרי ג'וני, שבמקרה שלנו הוא אלמנט שמספרו אפס.
import java.util.ArrayList;
import java.util.List;

public class AddAllDemo2 {
   public static void main(String[] args) {

       List<String> friends = new ArrayList<>();
       friends.add("Johnny");
       friends.add("Ivy");
       friends.add("Rick");
       System.out.println(friends);
       List<String> newFriends = new ArrayList<>();
       newFriends.add("Andrew");
       newFriends.add("Alex");
       newFriends.add("Neil");
       System.out.println(newFriends);
       System.out.println(friends.addAll(1, newFriends));
       System.out.println("My new list with new friends added: ");
       System.out.println(friends);
   }
}
התוצאה הצפויה של עבודת התוכנית: אנדרו הוא כעת מספר 1 ברשימה המשולבת, אלכס - 2, ניל - 3, ואיבי, שהיה מספר 1 לפני כן, עבר למקום הרביעי.
[ג'וני, אייבי, ריק] [אנדרו, אלכס, ניל] נכון הרשימה החדשה שלי עם חברים חדשים נוספה: [ג'וני, אנדרו, אלכס, ניל, אייבי, ריק]
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION