java Collections.swap() 方法

问题描述 投票:0回答:1
Collections.swap(Arrays.asList(array),0,1);

这不起作用?为什么?

我希望使用 Collections.swap() 方法交换数组中的元素;我发现的一个答案是 Collections.swap() 不适用于固定大小的长度;这里 Arrays.asList(array) 正在将数组转换为固定大小的列表;那么就不可能在固定大小的数组中添加删除;请详细说明这个观点;

java collections swap
1个回答
0
投票

您可以使用

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]
© www.soinside.com 2019 - 2024. All rights reserved.