DenseMatrix extends AbstractMatrix { public double[][] getBackingStructure() { return this.values; } DenseMatrix(double[][] values);  DenseMatrix(double[][] values, boolean shallowCopy);  DenseMatrix(int rows, int columns); double[][] getBackingStructure(); @Override Matrix clone(); @Override double getQuick(int row, int column); @Override Matrix like(); @Override Matrix like(int rows, int columns); @Override void setQuick(int row, int column, double value); @Override Matrix viewPart(int[] offset, int[] size); @Override Matrix viewPart(int rowOffset, int rowsRequested, int columnOffset, int columnsRequested); @Override Matrix assign(double value); Matrix assign(DenseMatrix matrix); @Override Matrix assignColumn(int column, Vector other); @Override Matrix assignRow(int row, Vector other); @Override Vector viewRow(int row); @Override MatrixFlavor getFlavor();  }
@Test public void testGetValues() { DenseMatrix m = new DenseMatrix(10, 10); for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { m.set(i, j, 10 * i + j); } } double[][] values = m.getBackingStructure(); Assert.assertEquals(values.length, 10); Assert.assertEquals(values[0].length, 10); Assert.assertEquals(values[9][9], 99.0, 0.0); }