【问题标题】:Easy way to Create a Matrix Array with Vector Arrays使用向量数组创建矩阵数组的简单方法
【发布时间】:2014-12-17 15:15:12
【问题描述】:

我有几个向量要汇总到矩阵数组中。

   vector1 = {1, 2, 3, 4, 5}
   vector2 = {1, 4, 3, 6, 5}
   vector3 = {8, 2, 3, 4, 5}

   matrix [][] ={{1, 2, 3, 4, 5},
                 {1, 4, 3, 6, 5},
                 {8, 2, 3, 4, 5}};

如何轻松创建这样的矩阵?

【问题讨论】:

标签: java arrays string matrix vector


【解决方案1】:

我不知道你的向量是什么类型,但我现在假设它们是Integers。将Integer 替换为您使用的任何类型(如果不是)。

如果您愿意使用Vector 而不是array,您可以像这样声明矩阵:

Vector<Vector<Integer>> matrix = new Vector<Vector<Integer>>();

然后你可以添加类似的元素

matrix.add(vector1);
matrix.add(vector2);
matrix.add(vector3);

然后您就可以访问像

这样的元素
matrix.get(2).get(4); //Returns 6 from the sample data

如果您真的想使用arrays,无论出于何种原因,它仍然不难做到,这只是您向量中的另一种方法。

你应该声明你的matrix 喜欢:

Integer[][] matrix = {vector1.toArray(), vector2.toArray(), vector3.toArray()};

然后你可以访问像

这样的元素
matrix[2][4]; //Returns 6 from the sample data

我会注意,我不是 100% 需要您使用 Integer[][] 而不仅仅是 int[][],但我认为由于您不能将原语用于您的 Vector 的泛型,您可能会必须继续使用Integer

【讨论】:

    【解决方案2】:
        Integer[][] matrix = new Integer[3][5];
        **static**
            matrix[0][0] == 1;
            matrix[0][1] == 2;
            matrix[0][2] == 3;
            matrix[0][3] == 4;
            matrix[0][4] == 5;    
            matrix[1][0] == 1;
            matrix[1][0] == 4;
            matrix[1][0] == 3;
            matrix[1][0] == 6;
            matrix[1][0] == 5;
            matrix[1][0] == 8;
            matrix[1][0] == 2;
            matrix[1][0] == 3;
            matrix[1][0] == 4;
       **dynamic**
            Integer[][] matrix = {vector1.toArray(), vector2.toArray(), vector3.toArray()};
    

    【讨论】:

      【解决方案3】:

      您的程序似乎将在多个地方使用矩阵,一段时间后您将不得不重新发明轮子并编写自己的矩阵库的一部分。

      您应该认真考虑为他们使用some 已经存在的库。

      使用当前方法,您的一半代码将包含在 2D(或更多)数组上运行的 for 循环。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-19
        • 1970-01-01
        • 2017-05-09
        • 1970-01-01
        • 2016-10-13
        • 1970-01-01
        • 2015-11-19
        相关资源
        最近更新 更多