Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 阵列交换-二维阵列_Java_Arrays - Fatal编程技术网

Java 阵列交换-二维阵列

Java 阵列交换-二维阵列,java,arrays,Java,Arrays,我正在研究在二维数组中交换索引。我似乎在正确的轨道上,但它没有以我想要的方式交换阵列 第一行的索引j需要与第2行的索引j交换: for (int j = 0; j < array.length ; j++){ int temp = array[row1][j] array[row1][j]=array[j][row1] array[j][row1] = temp ; } for(int j=0;j

我正在研究在二维数组中交换索引。我似乎在正确的轨道上,但它没有以我想要的方式交换阵列

第一行的索引
j
需要与第2行的索引
j
交换:

for (int j = 0; j < array.length ; j++){  
     int temp = array[row1][j]
     array[row1][j]=array[j][row1]
     array[j][row1] = temp ;
}
for(int j=0;j

如果您有任何关于如何以最佳方式解决此问题的想法,我们将不胜感激

由于java中的二维数组实际上是对其他数组的引用数组,您可以简单地交换引用,如下所示:

public static void swapRows(int array[][], int rowA, int rowB) {
   int tmpRow[] = array[rowA];
   array[rowA] = array[rowB];
   array[rowB] = tmpRow;
}

/edit:编辑答案,因为我之前对其进行了误解**

请告诉我们什么是“你想要的方式。你正在尝试转置一个方阵吗?你想从
[[0,1,2,3,4],[5,6,7,8,9]
[[5,6,7,8,9],[0,1,2,3,4]]
?是的。但是,请记住我有4行。它们不能按特定顺序交换。如果需要,我可以将第1行与第3行交换,或者将第2行与第1行交换,等等。嗯,我想人们甚至可以从
int col=row+1
开始,例如数组[10][10]不需要与它的对立面交换。我仍然没有弄清楚。我必须循环索引j,并将这些索引从第一行交换到第二行。@MH1993编辑了答案。这就是你想要的吗?