如何反转二维java数组?
我正在为一个音乐演示编写java代码,其中 我有一个java数组:如何反转二维java数组?,java,arrays,reverse,Java,Arrays,Reverse,我正在为一个音乐演示编写java代码,其中 我有一个java数组: int[][] a = {{1,2,3,},{4,5,6},{7,8,9},{10,11,12}; 我想反转这个数组以得到这个形状: int[][] b = {{3,2,1},{6,5,4},{9,8,7},{12,11,10}}; 请为我推荐一些简单的解决方案。用于颠倒列表中元素的顺序。由于需要反转外部数组中的每个数组,因此需要使用for循环迭代内部数组 注意:为此,需要使用ArrayList而不是arrays。您可以使
int[][] a = {{1,2,3,},{4,5,6},{7,8,9},{10,11,12};
我想反转这个数组以得到这个形状:
int[][] b = {{3,2,1},{6,5,4},{9,8,7},{12,11,10}};
请为我推荐一些简单的解决方案。用于颠倒列表中元素的顺序。由于需要反转外部数组中的每个数组,因此需要使用for循环迭代内部数组
注意:为此,需要使用ArrayList而不是arrays。您可以使用Arrays.asList(array)
将数组转换为ArrayList
实际上:
List<Integer> list = Arrays.asList(a); //Where a is your original array
for (List<Integer> sublist : list)
Collections.reverse(sublist);
List List=Arrays.asList(a)//其中a是原始数组
for(列表子列表:列表)
集合。反向(子列表);
现在列表包含了您的反向子列表。添加到Ad Fundum的答案中,如果您确实需要使用
double[][]
作为类型,请尝试以下操作:
double[] reverse(double[] a)
{
List<Integer> list = Arrays.asList(a); //Where a is your original array
for (List<Integer> sublist : list)
Collections.reverse(sublist);
return list.toArray(new Double[a.length]);
}
for(int i=0; i<a.length; i++)
b[i] = reverse(a[i]);
double[]反向(double[]a)
{
List=Arrays.asList(a);//其中a是原始数组
for(列表子列表:列表)
集合。反向(子列表);
返回列表。toArray(新的双精度[a.长度]);
}
对于(int i=0;i请尝试以下方法:
int[][] a = {{1,2,3,},{4,5,6},{7,8,9},{10,11,12}};
int[][] b = new int[a.length][];
for(int i = 0; i < a.length; i++) {
for(int j = 0; j < a[i].length; j++) {
b[i][j] = a[i][a[i].length - (j + 1)];
}
}
int[]a={{1,2,3,},{4,5,6},{7,8,9},{10,11,12};
int[][]b=新的int[a.长度][];
for(int i=0;i
如果您不想使用Collections.reverse(),以下是手动操作的方法:
int[][] a = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
int[][] ar = new int[a.length][];
int len, index;
for (int i=0; i < a.length; i++) {
len = a[i].length;
ar[i] = new int[len];
index = len-1;
for (int j=0; j < len; j++) {
ar[i][j] = a[i][index];
index--;
}
}
System.out.println(Arrays.deepToString(a));
System.out.println(Arrays.deepToString(ar));
int[]a={1,2,3},{4,5,6},{7,8,9},{10,11,12};
int[][]ar=新int[a.length][];
int-len,索引;
for(int i=0;i
您很难“反转二维数组”。这更像是反转二维数组中包含的每个一维数组。如果你是手工操作,你会如何解决这一问题?如果你在白板或纸上做一些小例子,就更容易对这类事情进行推理。在循环中遍历所有数组并反转它们听起来足够简单吗?你必须展示你所拥有的尝试过了,我们将尝试帮助您,但不仅仅是给您一个解决方案。您给出了一个很好的解决方案,它确实有效,问题也解决了。使用此代码,我面临java.lang.NullPointerException的问题。如何解决它?我在迭代前一秒错过了一行:b[I]=new int[a[I].length];