Java中如何交换ArrayList中的两个元素
学习如何在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程序,用于交换元素值及其相应的索引值。如果您有任何问题,请随时告诉我。