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
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)