交换多维数组元素

问题描述 投票:0回答:1

我有一个多维数组,并且有一个典型的交换函数,但是该函数适用于任何数量的维吗?例如,

public void swap(int a, int b) {
    int temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
}

这适用于常规数组。但是我需要交换2D数组的两个索引。我可以使用相同的函数,但仅以不同的方式调用参数吗?

java arrays multidimensional-array swap
1个回答
0
投票

是,有可能,我建议发送arr作为方法参数:

public static <T> void swap(T[] arr, int a, int b) {
    T temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
}
public static void main(String[] args) {
    int[][] a = {{1,2},{3,4}};
    swap(a,0,1);
    System.out.println(Arrays.deepToString(a));
}

在您的情况下,T解析为一维数组int[]

© www.soinside.com 2019 - 2024. All rights reserved.