代码之家  ›  专栏  ›  技术社区  ›  matt burns

有一个漂亮的Java对象来保存一个2D网格吗?

  •  2
  • matt burns  · 技术社区  · 16 年前

    是否有一种数据类型只保存一个二维双精度网格?

    最好是在JDK中,但我很乐意使用开源第三方库,如ApacheCommons等。

    我正在寻找一个类和/或免费的助手类,允许使用以下方法:

    Grid g = new DoubleGrid(100, 100);
    
    double min = g.getMinValue();
    double someCell = g.getValueAt(x, y);
    double origin = g.getValueAt(Coordinate.ORIGIN);
    

    理想情况下,更复杂的事情如:

    Grid newGrid = GridTransformer.transform(g, new CellValueSquarer());
    

    我完全在编这些类,我本身不需要那些特定的方法,它只是 分类 我要找的东西…

    4 回复  |  直到 16 年前
        1
  •  0
  •   Rex Kerr    16 年前

    你可能想试试 JAMA ,它是一个线性代数包(因此包含一个矩阵,该矩阵是一个二维双精度网格),或者 Apache Commons Math 它包含许多数学上有用的东西,包括线性代数。 EJML 这是@pablochan提到的另一个合理的选择。

        2
  •  2
  •   Daniel Bleisteiner    16 年前

    为什么不使用一个简单的二维数组呢?

    double[][] pixels = new double[100][100];
    double mine = pixels[12][65];
    

    根据需要用一些简单的类包装它。

    但在某个地方可能存在现有的实现…

        3
  •  1
  •   pablochan    16 年前

    你可以试试 EJML 或者仅仅是谷歌的Java矩阵库

        4
  •  0
  •   Andrew Sunil Kumar B M    16 年前

    你试过了吗? javax.vecmath

    推荐文章