Как поменять местами два элемента в ArrayList в Java?

Опубликовано: 30 Января, 2022

Мы можем поменять местами два элемента списка массивов, используя метод Collections.swap (). Этот метод принимает три аргумента. Первый аргумент - это ArrayList, а два других аргумента - это индексы элементов. Этот метод ничего не возвращает.

Синтаксис:

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

Параметры

  • list : ArrayList или любой реализующий класс List, в котором элементы меняются местами
  • a: индекс первого элемента
  • b : индекс второго элемента

Исключение: выдает исключение IndexOutOfBoundsException, если индекс списка массивов меньше 0 или больше размера списка массивов.

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

// 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 indeces
        // Throws IndexOutOfBounds Exception
        Collections.swap(ArrList, -1, 2);
    }
}

Выход

 Исключение в потоке "main" java.lang.IndexOutOfBoundsException: индекс -1 выходит за пределы для длины 5
    в java.base / jdk.internal.util.Preconditions.outOfBounds (Preconditions.java:64)
    в java.base / jdk.internal.util.Preconditions.outOfBoundsCheckIndex (Preconditions.java:70)
    в java.base / jdk.internal.util.Preconditions.checkIndex (Preconditions.java:248)
    в java.base / java.util.Objects.checkIndex (Objects.java:372)
    в java.base / java.util.ArrayList.get (ArrayList.java:458)
    в java.base / java.util.Collections.swap (Collections.java:501)
    в GFG.main (GFG.java:27)

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .