CodeGym /وبلاگ جاوا /Random-FA /متد 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 را برمی گرداند، اما مهمتر از همه، تمام عناصر مجموعه مشخص شده را به ترتیبی که توسط Iterator مجموعه مشخص شده برگردانده می شوند، به انتهای این لیست اضافه می کند. عنصر c لیستی است که به ArrayList شما اضافه می شود . همچنین اگر مجموعه مشخص شده null باشد، متد NullPointerException را پرتاب می کند.
boolean addAll(int index, Collection<? extends E> c)
این روش همه عناصر مجموعه مشخص شده c را در این لیست وارد می کند، که از شاخص موقعیت مشخص شده شروع می شود.

مثال دستور ArrayList addAll().

فراخوانی متد ArrayList addAll() در یک برنامه جاوا به این صورت است:
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() برگردانده شده است را در کنسول چاپ می کنیم . اگر لیست اصلی به دلیل عملکرد متد تغییر کند true و اگر این اتفاق نیفتاد 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 بود، به جایگاه 4 منتقل شده است.
[جانی، آیوی، ریک] [اندرو، الکس، نیل] درست است لیست جدید من با دوستان جدید اضافه شده است: [جانی، اندرو، الکس، نیل، آیوی، ریک]
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION