CodeGym /Blog Java /Ngẫu nhiên /Phương thức ArrayList addAll() trong Java

Phương thức ArrayList addAll() trong Java

Xuất bản trong nhóm
Nếu bạn cần thêm tất cả các phần tử của một bộ sưu tập ArrayList() này vào một bộ sưu tập ArrayList() khác, bạn có thể sử dụng phương thức addAll() của lớp Java ArrayList . Trong bài viết này, tôi sẽ giải thích phương pháp này hoạt động như thế nào và cung cấp một số ví dụ về mã.

Chữ ký phương thức ArrayList addAll()

Có hai biến thể của phương thức java.util.ArrayList.addAll . Họ đây rồi.

boolean addAll(Collection<? extends E> c)
Phương thức này trả về true nếu danh sách bị thay đổi do kết quả của lệnh gọi, nhưng quan trọng nhất, nó thêm tất cả các phần tử của tập hợp đã chỉ định vào cuối danh sách này, theo thứ tự mà chúng được trả về bởi Iterator của tập hợp đã chỉ định. Phần tử c là danh sách sẽ được thêm vào ArrayList của bạn . Ngoài ra, phương thức ném NullPulumException nếu bộ sưu tập được chỉ định là null.

boolean addAll(int index, Collection<? extends E> c)
Phương thức này chèn tất cả các phần tử trong bộ sưu tập đã chỉ định c vào danh sách này, bắt đầu từ chỉ mục vị trí đã chỉ định.

Ví dụ cú pháp ArrayList addAll()

Đây là giao diện của lệnh gọi phương thức ArrayList addAll() trong một chương trình Java:

myList.addAll(myNewList)) 
Trong đó myListArrayList ban đầu và myNewList là một danh sách, tất cả các giá trị của chúng sẽ được thêm vào myList nếu chúng tồn tại.

myList.addAll(2, myNewList)) 
Một biến thể của phương thức ArrayList addAll() với hai tham số. Tất cả các phần tử từ myNewList sẽ được thêm vào myList và phần tử đầu tiên myNewList[0] sẽ trở thành myList[2] , myNewList[1] bây giờ là myList[3] , v.v. Các phần tử từ danh sách ban đầu, bắt đầu từ số 2, được chuyển sang phần đuôi của danh sách kết hợp mới.

Ví dụ mã ArrayList addAll()

Bây giờ là lúc cho một số ví dụ mã. Hãy tạo một danh sách bạn bè của chúng ta, gọi nó là 'bạn bè' và thêm tên của họ vào đó. Giả sử, chúng tôi bắt đầu học đại học và kết bạn mới ngay lập tức. Đây là thời điểm tốt để tạo danh sách Bạn bè mới cho họ. Thời gian trôi qua, bạn đã một lần chắc chắn rằng những người bạn mới của mình là có thật, vì vậy bạn quyết định chuyển họ vào danh sách bạn bè chính. Bạn có thể làm điều đó bằng phương thức addAll() . Trong chương trình, chúng ta sẽ in ra bảng điều khiển danh sách bạn bè ban đầu, danh sách bạn bè mới, danh sách bạn bè cập nhật, cũng như giá trị boolean được trả về bởi phương thức addAll( ) . Nó trả về true nếu danh sách ban đầu bị thay đổi do hoạt động của phương thức và trả về false nếu điều này không xảy ra.

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);
       }
   }
đầu ra là:
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] true Danh sách mới của tôi với những người bạn mới đã được thêm vào: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Nếu chúng ta thực hiện thao tác tương tự nhưng cố gắng thêm một danh sách trống cho bạn bè, phương pháp sẽ hoạt động, nhưng nó sẽ trả về false, không đúng vì danh sách ban đầu không thay đổi.

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);
   }
}
Đầu ra là:
[Johnny, Ivy, Rick] [] false Danh sách mới của tôi với những người bạn mới đã được thêm vào: [Johnny, Ivy, Rick]
Bây giờ, hãy thử phương thức addAll() với hai tham số.

boolean addAll(int index, Collection<? extends E> c)
Hãy thêm những người bạn mới vào danh sách một lần nữa, không phải ở đuôi mà ở giữa. Giả sử ngay sau Johnny, trong trường hợp của chúng ta là phần tử được đánh số bằng không.

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);
   }
}
Kết quả mong đợi của công việc của chương trình: Andrew hiện là số 1 trong danh sách tổng hợp, Alex - 2, Neil - 3 và Ivy, số 1 trước đó, đã chuyển xuống vị trí thứ 4.
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] true Danh sách mới của tôi với những người bạn mới đã được thêm vào: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION