The addAll() method of java.util.AbstractList class is used to insert all of the elements in the specified collection into this list at the specified position.
- This 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.
- The behavior of this operation is undefined if the specified collection is modified while the operation is in progress.
This implementation gets an iterator over the specified collection and iterates over it, inserting the elements obtained from the iterator into this list at the appropriate position, one at a time, using add(int, E). Many implementations will override this method for efficiency.
Syntax:
public boolean addAll(int index, Collection c)
Parameters: This method takes the following argument as a parameter.
Below are the examples to illustrate the addAll() method.
Example 1:
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
AbstractList<String>
arrlist1 = new ArrayList<String>();
arrlist1.add( "A" );
arrlist1.add( "B" );
arrlist1.add( "C" );
arrlist1.add( "D" );
arrlist1.add( "E" );
System.out.println( "Original ArrayListlist : "
+ arrlist1);
AbstractList<String>
arrlist2 = new ArrayList<String>();
arrlist2.add( "X" );
arrlist2.add( "Y" );
arrlist2.add( "Z" );
System.out.println( "ArrayList elements "
+ "to be added : "
+ arrlist2);
boolean value = arrlist1.addAll( 2 , arrlist2);
System.out.println( "Operation successful : "
+ value);
System.out.println( "New ArrayList : "
+ arrlist1);
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Original ArrayListlist : [A, B, C, D, E]
ArrayList elements to be added : [X, Y, Z]
Operation successful : true
New ArrayList : [A, B, X, Y, Z, C, D, E]
Example 2: For NullPointerException
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
AbstractList<String>
arrlist1 = new ArrayList<String>();
arrlist1.add( "A" );
arrlist1.add( "B" );
arrlist1.add( "C" );
arrlist1.add( "D" );
arrlist1.add( "E" );
System.out.println( "Original ArrayListlist : "
+ arrlist1);
AbstractList<String> arrlist2 = null ;
System.out.println( "ArrayList to be added : "
+ arrlist2);
System.out.println( "\nTrying to get"
+ " the null collection" );
boolean value = arrlist1.addAll( 2 , arrlist2);
System.out.println( "operation successful : "
+ value);
System.out.println( "New ArrayList : "
+ arrlist1);
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Original ArrayListlist : [A, B, C, D, E]
ArrayList to be added : null
Trying to get the null collection
Exception thrown : java.lang.NullPointerException
Example 3: For IndexOutOfBoundsException
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
AbstractList<String>
arrlist1 = new ArrayList<String>();
arrlist1.add( "A" );
arrlist1.add( "B" );
arrlist1.add( "C" );
arrlist1.add( "D" );
arrlist1.add( "E" );
System.out.println( "Original ArrayListlist : "
+ arrlist1);
AbstractList<String>
arrlist2 = new ArrayList<String>();
arrlist2.add( "X" );
arrlist2.add( "Y" );
arrlist2.add( "Z" );
System.out.println( "ArrayList elements to be added : "
+ arrlist2);
System.out.println( "\nTrying to put the out"
+ " of range index " );
boolean value = arrlist1.addAll(- 1 , arrlist2);
System.out.println( "operation succecfull : "
+ value);
System.out.println( "New ArrayList : " + arrlist1);
}
catch (NullPointerException e) {
System.out.println( "Exception thrown : " + e);
}
catch (IndexOutOfBoundsException e) {
System.out.println( "Exception thrown : " + e);
}
}
}
|
Output:
Original ArrayListlist : [A, B, C, D, E]
ArrayList elements to be added : [X, Y, Z]
Trying to put the out of range index
Exception thrown : java.lang.IndexOutOfBoundsException: Index: -1, Size: 5