Ако трябва да добавите всички елементи от една колекция ArrayList() към друга, можете да използвате метода addAll() на класа ArrayList на Java . В тази статия ще обясня How работи този метод и ще дам някои примерни codeове.
Сигнатура на метода 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() пример за синтаксис
Ето How изглежда извикването на метода 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() примери за code
Сега е време за някои примери за code. Нека създадем списък с нашите приятели и да го наречем „приятели“ и да добавим техните имена там. Да речем, започнахме колеж и намерихме няколко нови приятели наведнъж. Добър момент е да създадете нов списък с приятели за тях. Мина време, веднъж се уверихте, че новите ви приятели са истински, затова решихте да ги преместите в основния списък с приятели. Можете да го направите с помощта на метода addAll() . В програмата ще отпечатаме на конзолата първоначалния списък с приятели, списъка с нови приятели, актуализирания списък с приятели, Howто и булевата стойност, върната от метода 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, а не true, тъй като оригиналният списък не е променен.
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-та позиция.
[Джони, Айви, Рик] [Андрю, Алекс, Нийл] вярно Моят нов списък с добавени нови приятели: [Джони, Андрю, Алекс, Нийл, Айви, Рик]
GO TO FULL VERSION