How do I insert elements at a specific index in Java list?


Solution

We can add all elements of one list into another list at a specified index easily using its addAll() method.

Syntax

boolean addAll(int index, Collection<? extends E> c)

Inserts all of the elements in the specified collection into this list at the specified position (optional operation). Shifts the element currently at that position (if any) and any subsequent elements to the right (increases their indices). The new elements will appear in this list in the order that they are returned by the specified collection's iterator.

Type Parameter

  • - The runtime type of the collection.

Parameters

  • index  − Index at which to insert the first element from the specified collection.

  • − Collection containing elements to be added to this list.

Returns

True if this list changed as a result of the call

Throws

  • UnsupportedOperationException  − If the addAll operation is not supported by this list.

  • ClassCastException  − If the class of an element of the specified collection prevents it from being added to this list.

  • NullPointerException  − If the specified collection contains one or more null elements and this list does not permit null elements, or if the specified collection is null.

  • IllegalArgumentException  − If some property of an element of the specified collection prevents it from being added to this list.

  • IndexOutOfBoundsException  − If the index is out of range (index < 0 || index gt; size()).

Example

The following example shows how to add all elements from a list into another list at a particular index using the addAll() method.

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.List;

public class CollectionsDemo {
   public static void main(String[] args) {
      // Create a list object
      List<Integer> list = new ArrayList<>();

      // add elements to the list
      list.add(1);
      list.add(2);
      list.add(3);
      list.add(4);
      list.add(5);
      list.add(6);

      // print the list
      System.out.println(list);
      List<Integer> list1 = new ArrayList<>();
      list1.add(0);
      list1.addAll(0,list);
      System.out.println(list1);
   }
}

Output

This will produce the following result −

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 0]

Updated on: 09-May-2022

461 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements