学习如何在Java中交换ArrayList中的两个指定元素。我们将使用Collections.swap()方法在指定的ArrayList中交换两个元素,指定它们的索引位置。

1.Collections.swap() API

Collections.swap()方法用于交换指定列表中指定位置的元素。索引参数必须是列表中的有效索引,否则该方法将抛出IndexOutOfBoundsException异常。

public static void swap(List<?> list, int i, int j) 

其中 –

  • list – 要交换元素的列表。
  • i – 要交换的一个元素的索引。
  • j – 要交换的另一个元素的索引。

如果指定的位置相等,则调用此方法不会改变列表。

2. 在ArrayList中交换两个元素

以下Java程序在给定列表中交换了两个指定的元素。在这个例子中,我们交换了在位置’1’和’2’的元素。列表中这些位置的元素分别是’b’和’c’。

请注意,索引从0开始。

ArrayList<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "d", "e", "f")); System.out.println(list); Collections.swap(list, 1, 2); System.out.println(list); 

程序输出:

[a, b, c, d, e, f] [a, c, b, d, e, f] 

3. 抛出IndexOutOfBoundsException

请注意,如果指定的索引超出了边界,该方法将抛出IndexOutOfBoundsException异常。

Assertions.assertThrows(IndexOutOfBoundsException.class, () -> { Collections.swap(list, 10, 11); }); 

上面的例子是一个Java程序,用于交换元素值及其相应的索引值。如果您有任何问题,请随时告诉我。