How to Swap Two Elements in an ArrayList in Java?

01 Jul, 2021
We can swap two elements of Array List using Collections.swap() method. This method accepts three arguments. The first argument is the ArrayList and the other two arguments are the indices of the elements. This method returns nothing. 
Syntax:
public static void swap(List list, int a, int b);
Parameters
list: An ArrayList or any List implementing class in which elements are swapped
a: index of the first element
b: index of the second element
Exception: It throws IndexOutOfBoundsException if the index of Array List is less than 0 or greater than the size of the ArrayList.
Example 1
Java
// 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<String> ArrList = new ArrayList<String>();         // 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);    }}
  
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
// 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<String> ArrList = new ArrayList<String>();         // 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)
 
akshaysingh98088
Java-ArrayList
Picked
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Interfaces in Java
Stream In Java
ArrayList in Java
Collections in Java
Singleton Class in Java
Initializing a List in Java
Java Programming Examples
Convert a String to Character Array in Java
Convert Double to Integer in Java
Implementing a Linked List in Java using Class