Есть ли хороший Java-объект для хранения двумерной сетки двойников? - PullRequest
2 голосов
/ 26 августа 2010

Есть ли тип данных, который просто содержит двумерную сетку двойных чисел?

Желательно в JDK, но я рад использовать стороннюю библиотеку с открытым исходным кодом, такую ​​как Apache Commons и т. Д.* Я ищу класс и / или дополнительные вспомогательные классы, которые допускают методы, подобные этим:

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());

Яполностью составляя эти классы, и мне не нужны эти конкретные методы как таковые, это всего лишь пример sort того, что я ищу ...

Ответы [ 4 ]

2 голосов
/ 26 августа 2010

Почему бы вам не использовать простой 2-мерный массив?

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

Оберните его в какой-нибудь простой класс по желанию.

Но где-то могут существовать реализации ...

1 голос
/ 26 августа 2010

Вы можете попробовать EJML или просто google 'java matrix library'

0 голосов
/ 26 августа 2010

Возможно, вы захотите попробовать JAMA , который представляет собой пакет линейной алгебры (и, следовательно, содержит матрицу, представляющую собой двумерную сетку двойников), или Apache Commons Math , который содержитмного математически полезных вещей, в том числе линейной алгебры. EJML , о котором упоминал @pablochan, - еще один разумный выбор.

0 голосов
/ 26 августа 2010

Вы пробовали javax.vecmath

...