Java list addall example

Java ArrayList addAll()

The addAll() method adds all the elements of a collection to the arraylist.

Example

import java.util.ArrayList; class Main < public static void main(String[] args) < // create an arraylist ArrayListlanguages = new ArrayList<>(); languages.add("Java"); languages.add("Python"); System.out.println("Languages: " + languages); // create another arraylist ArrayList programmingLang = new ArrayList<>(); 
// add all elements from languages to programmingLang programmingLang.addAll(languages);
System.out.println("Programming Languages: " + programmingLang); > > // Output: Languages: [Java, Python] // Programming Languages: [Java, Python]

Syntax of ArrayList addAll()

The syntax of the addAll() method is:

arraylist.addAll(int index, Collection c)

Here, arraylist is an object of the ArrayList class.

addAll() Parameters

The ArrayList addAll() method can take two parameters:

  • index (optional) — index at which all elements of a collection is inserted
  • collection — collection that contains elements to be inserted

If the index parameter is not passed the collection is appended at the end of the arraylist.

addAll() Return Value

  • returns true if the collection is successfully inserted into the arraylist
  • raises NullPointerException if the specified collection is null
  • raises IndexOutOfBoundsException if the index is out of range

Example 1: Inserting Elements using ArrayList addAll()

import java.util.ArrayList; class Main < public static void main(String[] args) < // create an arraylist ArrayListprimeNumbers = new ArrayList<>(); // add elements to arraylist primeNumbers.add(3); primeNumbers.add(5); System.out.println("Prime Numbers: " + primeNumbers); // create another arraylist ArrayList numbers = new ArrayList<>(); numbers.add(1); numbers.add(2); 
// Add all elements from primeNumbers to numbers numbers.addAll(primeNumbers);
System.out.println("Numbers: " + numbers); > >
Prime Numbers: [3, 5] Numbers: [1, 2, 3, 5]

In the above example, we have created two arraylists named primeNumbers and numbers . Notice the line,

numbers.addAll(primeNumbers);

Here, the addAll() method does not contain the optional index parameter. Hence, all elements from the arraylist primeNumbers are added at the end of the arraylist numbers .

Читайте также:  Javascript get function type

Note: We have used the add() method to add single elements to arraylist. To learn more, visit Java ArrayList add().

Example 2: Inserting Elements to the Specified Position

import java.util.ArrayList; class Main < public static void main(String[] args) < ArrayListlanguages1 = new ArrayList<>(); languages1.add("Java"); languages1.add("Python"); System.out.println("ArrayList 1: " + languages1); // create another arraylist ArrayList languages2 = new ArrayList<>(); languages2.add("JavaScript"); languages2.add("C"); System.out.println("ArrayList 2: " + languages2); 
// Add elements from languages1 to languages2 at index 1 languages2.addAll(1, languages1);
System.out.println("Updated ArrayList 2: " + languages2); > >
ArrayList 1: [Java, Python] ArrayList 2: [JavaScript, C] Updated ArrayList 2: [JavaScript, Java, Python, C]

In the above example, we have two arraylists named languages1 and languages2 . Notice the line,

languages2.addAll(1, languages1);

Here, the addAll() contains the optional index parameter. Hence, all elements from the arraylist languages1 are added to languages at index 0.

Example 3: Inserting Elements from Set to ArrayList

import java.util.ArrayList; import java.util.HashSet; class Main < public static void main(String[] args) < // create a hashset of String type HashSetset = new HashSet<>(); // add elements to the hashset set.add("Java"); set.add("Python"); set.add("JavaScript"); System.out.println("HashSet: " + set); // create an arraylist ArrayList list = new ArrayList<>(); // add element to arraylist list.add("English"); System.out.println("Initial ArrayList: " + list); 
// Add all elements from hashset to arraylist list.addAll(set);
System.out.println("Updated ArrayList: " + list); > >
Set: [Java, JavaScript, Python] Initial ArrayList: [English] Updated ArrayList: [English, Java, JavaScript, Python]

In the above example, we have created a hashset named set and an arraylist named list . Notice the line,

Here, we have used the addAll() method to add all the elements of the hashset to the arraylist. The optional index parameter is not present in the method. Hence, all elements are added at the end of the arraylist.

Источник

How To Use add() and addAll() Methods for Java List

How To Use add() and addAll() Methods for Java List

In this article, you will learn about Java’s List methods add() and addAll() .

Java List add()

This method is used to add elements to the list. There are two methods to add elements to the list.

  1. add(E e ) : appends the element at the end of the list. Since List supports Generics , the type of elements that can be added is determined when the list is created.
  2. add(int index , E element ) : inserts the element at the given index . The elements from the given index are shifted toward the right of the list. The method throws IndexOutOfBoundsException if the given index is out of range.

Here are some examples of List add() methods:

package com.journaldev.examples; import java.util.ArrayList; import java.util.List; public class ListAddExamples  public static void main(String[] args)  ListString> vowels = new ArrayList>(); vowels.add("A"); // [A] vowels.add("E"); // [A, E] vowels.add("U"); // [A, E, U] System.out.println(vowels); // [A, E, U] vowels.add(2, "I"); // [A, E, I, U] vowels.add(3, "O"); // [A, E, I, O, U] System.out.println(vowels); // [A, E, I, O, U] > > 

First, this code will add A , E , and U to a list and output [A, E, U] .

Next, this code will add I to the index of 2 to produce [A, E, I, U] . Then, it will add O to the index of 3 to produce [A, E, I, O, U] . Finally, this list will be output to the screen.

Java List addAll()

This method is used to add the elements from a collection to the list. There are two overloaded addAll() methods.

  1. addAll(Collection c ) : This method appends all the elements from the given collection to the end of the list. The order of insertion depends on the order in which the collection iterator returns them.
  2. addAll(int index , Collection c ) : we can use this method to insert elements from a collection at the given index . All the elements in the list are shifted toward the right to make space for the elements from the collection.

Here are some examples of List addAll() methods:

package com.journaldev.examples; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ListAddAllExamples  public static void main(String[] args)  ListInteger> primeNumbers = new ArrayList>(); primeNumbers.addAll(Arrays.asList(2, 7, 11)); System.out.println(primeNumbers); // [2, 7, 11] primeNumbers.addAll(1, Arrays.asList(3, 5)); System.out.println(primeNumbers); // [2, 3, 5, 7, 11] > > 

First, this code creates a new list with the value of [2, 7, 11] . Then, this list is output to the screen.

Next, a second list is created with the value of [3, 5] . Then, this second list is added to the first list with addAll() with an index of 1 . This results in a list of [2, 3, 5, 7, 11] that is output to the screen.

UnsupportedOperationException with List add() Methods

The List add() and addAll() method documentation states that the operation is mentioned as optional. It means that the list implementation may not support it. In this case, the list add() methods throw UnsupportedOperationException . There are two common scenarios where you will find this exception when adding elements to the list:

  1. Arrays.asList() : This method returns a fixed-size list because it’s backed by the specified array. Any operation where the list size is changed throws UnsupportedOperationException .
  2. Collections.unmodifiableList(List l ) : This method returns a unmodifiable view of the given list. So the add() operations throw UnsupportedOperationException .

Here is an example of UnsupportedOperationException with add operation on a fixed-size list:

jshell> List ints = Arrays.asList(1,2,3); ints ==> [1, 2, 3] jshell> ints.add(4); | Exception java.lang.UnsupportedOperationException | at AbstractList.add (AbstractList.java:153) | at AbstractList.add (AbstractList.java:111) | at (#4:1) 

First, this code creates a fixed-size list of [1, 2, 3] . Then, this code attempts to add 4 to the list. This results in throwing a UnsupportedOperationException .

Here is an example of UnsupportedOperationException with add operation on an unmodifiable view of the given list:

jshell> List strs = new ArrayList<>(); strs ==> [] jshell> strs.add("A"); $6 ==> true jshell> List strs1 = Collections.unmodifiableList(strs); strs1 ==> [A] jshell> strs1.add("B"); | Exception java.lang.UnsupportedOperationException | at Collections$UnmodifiableCollection.add (Collections.java:1058) | at (#8:1) 

First, this code adds A to a list. Next, this code attempts to add B to an unmodifiable view of the previous list. This results in throwing a UnsupportedOperationException .

Conclusion

In this article, you learned about Java’s List methods add() and addAll() .

Recommended Reading:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Источник

ArrayList в Java

Java-университет

ArrayList — реализация изменяемого массива интерфейса List, часть Collection Framework, который отвечает за список (или динамический массив), расположенный в пакете java.utils. Этот класс реализует все необязательные операции со списком и предоставляет методы управления размером массива, который используется для хранения списка. В основе ArrayList лежит идея динамического массива. А именно, возможность добавлять и удалять элементы, при этом будет увеличиваться или уменьшаться по мере необходимости.

Что хранит ArrayList?

Только ссылочные типы, любые объекты, включая сторонние классы. Строки, потоки вывода, другие коллекции. Для хранения примитивных типов данных используются классы-обертки.

Конструкторы ArrayList

 ArrayList list = new ArrayList<>(); 
 ArrayList list2 = new ArrayList<>(list); 
 ArrayList list2 = new ArrayList<>(10000); 

Методы ArrayList

Ниже представлены основные методы ArrayList.

 ArrayList list = new ArrayList<>(); list.add("Hello"); 
 ArrayList secondList = new ArrayList<>(); secondList.addAll(list); System.out.println("Первое добавление: " + secondList); secondList.addAll(1, list); System.out.println("Второе добавление в середину: " + secondList); 
 Первое добавление: [Amigo, Hello] Второе добавление в середину: [Amigo, Amigo, Hello, Hello] 
 ArrayList copyOfSecondList = (ArrayList) secondList.clone(); secondList.clear(); System.out.println(copyOfSecondList); 
 System.out.println(copyOfSecondList.contains("Hello")); System.out.println(copyOfSecondList.contains("Check")); 
 // Первый способ for(int i = 0; i < secondList.size(); i++) < System.out.println(secondList.get(i)); >И цикл for-each: // Второй способ for(String s : secondList)

В классе ArrayList есть метод для обработки каждого элемента, который называется также, forEach. В качестве аргумента передается реализация интерфейса Consumer, в котором нужно переопределить метод accept():

 secondList.forEach(new Consumer() < @Override public void accept(String s) < System.out.println(s); >>); 

Метод accept принимает в качестве аргумента очередной элемент того типа, который хранит в себе ArrayList. Пример для Integer:

 ArrayList integerList = new ArrayList<>(); integerList.forEach(new Consumer() < @Override public void accept(Integer integer) < System.out.println(integer); >>); 
 String[] array = new String[secondList.size()]; secondList.toArray(array); for(int i = 0; i

Ссылки на дополнительное чтение

  1. Подробная статья о динамических массивах, а точнее — об ArrayList и LinkedList , которые выполняют их роль в языке Java.
  2. Статья об удалении элементов из списка ArrayList.
  3. Лекция о работе с ArrayList в схемах и картинках.

Источник

Оцените статью