โค้ดยิม/จาวาบล็อก/สุ่ม/วิธีการ 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)
เมธอดนี้คืนค่าจริงหากรายการมีการเปลี่ยนแปลงอันเป็นผลมาจากการเรียก แต่ที่สำคัญที่สุด วิธีเพิ่มองค์ประกอบทั้งหมดของคอลเล็กชันที่ระบุในส่วนท้ายของรายการนี้ ตามลำดับที่ส่งคืนโดย Iterator ของคอลเล็กชันที่ระบุ Element c คือรายการที่จะเพิ่มในArrayList ของคุณ นอกจากนี้เมธอดจะพ่นNullPointerExceptionหากคอลเล็กชันที่ระบุเป็นโมฆะ
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() ไปยังคอนโซล โดยจะคืนค่าจริงหากรายการเดิมมีการเปลี่ยนแปลงเนื่องจากการทำงานของเมธอด และคืนค่าเป็นเท็จหากไม่เกิดขึ้น
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);
       }
   }
ผลลัพธ์คือ:
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] true รายการใหม่ของฉันกับเพื่อนใหม่ที่เพิ่มเข้ามา: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
หากเราดำเนินการเดียวกันแต่พยายามเพิ่มรายชื่อเพื่อนที่ว่างเปล่า วิธีนี้จะได้ผล แต่จะคืนค่าเป็นเท็จ ไม่จริง เนื่องจากรายชื่อเดิมไม่ได้เปลี่ยนแปลง
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);
   }
}
ผลลัพธ์คือ:
[Johnny, Ivy, Rick] [] false รายการใหม่ของฉันกับเพื่อนใหม่ที่เพิ่มเข้ามา: [Johnny, Ivy, Rick]
ทีนี้ลองใช้ วิธี 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
[Johnny, Ivy, Rick] [Andrew, Alex, Neil] true รายการใหม่ของฉันกับเพื่อนใหม่ที่เพิ่มเข้ามา: [Johnny, Andrew, Alex, Neil, Ivy, Rick]
ความคิดเห็น
  • เป็นที่นิยม
  • ใหม่
  • เก่า
คุณต้องลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น
หน้านี้ยังไม่มีความคิดเห็นใด ๆ