We can trade two components of Array List utilizing Collections.swap() strategy. This technique acknowledges three contentions. The primary contention is the ArrayList and the other two contentions are the files of the components. This technique brings nothing back.
Syntax:
public static void swap(List list, int a, int b);
Parameters
Exception: It tosses IndexOutOfBoundsException if the record of Array List is under 0 or more noteworthy than the size of the ArrayList.
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 indeces 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 indeces // 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)