如何以矩阵格式存储二维数组(用逗号)

时间:2016-02-01 21:25:13

标签: java mysql

让我们保持简单。我已经尝试了很多个小时而无法找到解决方案。

我正在从MySQL数据库中检索以下数据。数据库采用当前格式。

std::vector<std::shared_ptr<Shape>> vec1; 
DoTheThing(vec1); // success

std::vector<Wrapper<Shape>> vec2;
//DoTheThing(vec2); // error

std::vector<std::shared_ptr<int>> vec3;
//DoTheThing(vec3); // error

std::list<std::shared_ptr<Shape>> vec4;
DoTheThing(vec4); // success

我有以下代码来检索它(工作正常):

|number1|number2|number3|number4|number5|
|   0   |   1   |   0   |   1   |   0   |
|   1   |   0   |   1   |   0   |   1   |
|   0   |   1   |   0   |   1   |   0   |
|   1   |   0   |   1   |   0   |   1   |
|   0   |   1   |   0   |   1   |   0   |

然而,当返回数组时,我希望它采用以下格式(例如,在正确的位置使用逗号和大括号,以便我可以解析这个2d数组(直接使用变量“array”并使用它直接用其他对象做请求时。)

int[][] array = new int[5][5];

            int i = 0;
                while(result.next()) {
                    array[i][0] = result.getInt(1);                   
                    array[i][1] = result.getInt(2);                   
                    array[i][2] = result.getInt(3);                   
                    array[i][3] = result.getInt(4);                   
                    array[i][4] = result.getInt(5);                   

                    for(int j=0;j<5;j++){
                        System.out.print(array[i][j]);
                    }

                    i++;
                }

编辑:更清楚: 假设我有另一个名为secondaryArray [] []的变量。我想将从数据库中检索到的数组分配给secondaryArray,但是在当前格式中,它不会让我,因为内容不是矩阵格式。

感谢您的时间和帮助!非常感谢

1 个答案:

答案 0 :(得分:0)

您可以通过 将数组中的新内容添加到secondaryArray &#39;

复制多维数组的代码:

int[][] secondaryArray = new int[array.length][]; // Creates the amount row in array
for (int i = 0; i < array.length; i++) 
{ 
    secondaryArray[i] = new int[array[i].length]; // Creates the columns in array
    for (int j = 0; j < array[i].length; j++) 
        secondaryArray[i][j] = array[i][j];
}

我相信它适用于粗糙和非碎片阵列

这是他们打印出来的方式(只读整数)

0101010101010101010101010