如何在 Java 中交换数组列表中的两个元素?
我们可以使用 Collections.swap() 方法交换数组列表的两个元素。此方法接受三个参数。第一个参数是数组列表,另外两个参数是元素的索引。此方法不返回任何内容。
语法:
公共静态无效交换(列表列表,int a,int b);
参数
- 列表:一个数组列表或者任意一个列表实现类,其中元素被交换
- a: 第一个元素的索引
- b :第二个元素的索引
异常:如果数组列表的索引小于 0 或大于数组列表的大小,它将抛出indexout of boundsexception。
例 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);
}
}
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]
例 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);
}
}
输出
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)
版权属于:月萌API www.moonapi.com,转载请注明出处