Java program to swap two elements in an ArrayList

Suppose we have to swap the two elements of the Array List using the Collections.swap() method in java. This method accepts three parameters. The first parameter is ArrayList, and the other two parameters are the index of the element. This method does not return anything.

Syntax:

public static void swap(List list, int a, int b);

Parameters

  • list: An ArrayList or any List implementing class during which elements are swapped
  • a: index of the primary element
  • b: index of the second element

Exception: 

Example 1

 
// Java program to swap two elements in an ArrayList

import java.util.ArrayList;
import java.util.Collections;

public class GFG {

	public static void main(String a[])
	{

		// Create the Array List
		ArrayList ArrList = new ArrayList();

		// add the values in Array List
		ArrList.add("Item 1");
		ArrList.add("Item 2");
		ArrList.add("Item 3");
		ArrList.add("Item 4");
		ArrList.add("Item 5");

		// display Array List before swap
		System.out.println("Before Swap the ArrayList ");
		System.out.println(ArrList);

		// Swapping the elements at 1 and 2 indices
		Collections.swap(ArrList, 1, 2);

		// display Array List after swap
		System.out.println("After Swap the ArrayList");
		System.out.println(ArrList);
	}
}

Output

Before Swap the ArrayList 
[Item 1, Item 2, Item 3, Item 4, Item 5]
After Swap the ArrayList
[Item 1, Item 3, Item 2, Item 4, Item 5]

Example 2

// Java program to swap two elements in an ArrayList

import java.util.ArrayList;
import java.util.Collections;

public class GFG {

	public static void main(String a[]) throws Exception
	{

		// Create the Array List
		ArrayList ArrList = new ArrayList();

		// add the values in Array List
		ArrList.add("Item 1");
		ArrList.add("Item 2");
		ArrList.add("Item 3");
		ArrList.add("Item 4");
		ArrList.add("Item 5");

		// display Array List before swap
		System.out.println("Before Swap the ArrayList ");
		System.out.println(ArrList);

		// Swapping the elements at -1 and 2 indices
		// Throws IndexOutOfBounds Exception
		Collections.swap(ArrList, -1, 2);
	}
}

Output

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 5
    at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
    at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
    at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
    at java.base/java.util.Objects.checkIndex(Objects.java:372)
    at java.base/java.util.ArrayList.get(ArrayList.java:458)
    at java.base/java.util.Collections.swap(Collections.java:501)
    at GFG.main(GFG.java:27)

 

Submit Your Programming Assignment Details