Collections.swap(Arrays.asList(array),0,1);
这不起作用?为什么?
我希望使用 Collections.swap() 方法交换数组中的元素;我发现的一个答案是 Collections.swap() 不适用于固定大小的长度;这里 Arrays.asList(array) 正在将数组转换为固定大小的列表;那么就不可能在固定大小的数组中添加删除;请详细说明这个观点;
您可以使用
Collections.swap()
交换 Arrays.asList(array)
返回的列表中的元素,但不能从列表中添加或删除元素。如果您尝试从列表中添加或删除元素,您将得到一个 UnsupportedOperationException
。
这是一个演示如何使用
Collections.swap()
交换数组中的元素的示例:
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
String[] array = {"one", "two", "three"};
System.out.println("Before swap: " + Arrays.toString(array));
Collections.swap(Arrays.asList(array), 0, 1);
System.out.println("After swap: " + Arrays.toString(array));
}
}
输出:
Before swap: [one, two, three]
After swap: [two, one, three]