gpt4 book ai didi

java - 将二维数组转换为一维数组时如何删除不必要的 int 分配?

转载 作者:行者123 更新时间:2023-12-01 16:46:14 29 4
gpt4 key购买 nike

每当我想要将 int[][] 转换为 int[] 数组时,我都会按照下面所示的过程进行操作。

final int[][] source = new int[3][3];
final int[] array = new int[9];
// I allocate an int that represents the current index of the int[] array.
int index = 0;
// Afterwards I iterate over the `int[][]` array.
for (int x = 0; x < 3; x++)
{
for (int y = 0; y < 3; y++)
{
array[++index] = source[x][y];
}
}

代码完成了这项工作,但我想知道是否有更好的解决方案来解决我的问题,可以有效消除 index 变量,甚至提高代码的效率。

最佳答案

您可以通过一个循环来完成此操作:

for (int x = 0; x < width; x++) {
System.arraycopy(twoDimensionalArray[x], 0, oneDimensionalArray, x*height, height);
}

关于java - 将二维数组转换为一维数组时如何删除不必要的 int 分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50123271/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com