是否可以在Java中交换两个数组索引的值?

时间:2019-02-03 19:16:48

标签: java arrays

我想交换一个数组中的两个值,但我无法切换到它。我正在创建一个新的交换功能。 我知道只能通过引用交换该值,但我不知道该怎么做。 有人可以帮帮我吗。以下是我尝试编写的代码。我想交换A类中的数组数据。

.overlay

2 个答案:

答案 0 :(得分:3)

int[] arr- arr 是对数组对象的引用。因此,您可以编写此参考的swap方法来交换所需的值。

public static void swap(int[] arr, int i, int j) {
    int tmp = arr[i];
    arr[i] = arr[j];
    arr[j] = tmp;
}

答案 1 :(得分:1)

通过这种方式,可以不用临时变量:

public static void swap(int[] arr, int i, int j) {
    arr[i] ^= arr[j];
    arr[j] ^= arr[i];
    arr[i] ^= arr[j];
}