2016-01-26 4 views
2

Я ищу способ реализации этих многомерных данных в Java. Очень похожие примеры показаны на этих рисунках.Эффективный способ реализации многомерных данных в Java

Я знаю, что базы данных, вероятно, лучше, но, ради изучения Java, я хочу реализовать это в Java в первую очередь.

Любой совет или относительно того, какие методы искать, оценивают.

an example

an example

+0

Для первого изображения я бы сказал, что Hashmap из целого числа в некоторый список объектов Person с целым числом, являющимся годом. Не уверен, что показывает вторая картинка. –

+0

Существует много способов. Выбор структуры данных всегда требует также знания операций, которые должны поддерживаться им. – Henry

+0

Это действительно зависит от того, что вам нужно делать с этими данными. Как вы будете искать? –

ответ

4

Чтобы ответить на ваш вопрос, необходимо знать некоторые дополнительную информацию:

  • возможные значения каждого измерения фиксированного или нет?
  • Являются ли значения разреженными или нет?
  • Возможны ли значения каждого измерения с очень большим диапазоном или нет?

Если у вас есть несколько возможных значений починок для каждого измерения можно использовать multimensional массива.

Если у вас есть несколько возможных удобств фиксированных значений для каждого измерения вы можете рассмотреть List о List из List ...

Если у вас есть множество возможных значений и разреженная матрица вы можете использовать Map<Coordinate, Value> где Coordinate - это класс, представляющий одну координату, чтобы найти ваше значение, и Value - тип ваших значений.

+0

На данный момент я просто хочу проверить воды, чтобы увидеть возможные реализации и попробовать их. Поэтому, отвечая на ваш вопрос, в настоящее время данные по первой картинке - это все, что мне нужно. В идеале в будущем будет 20000 записей, для которых необходима БД. (OLAP, я думаю) – Sam

+0

Если у вас также есть только 1000 возможных значений для каждого измерения, имеющего 4 измерения, то это означает, что 1000^4 возможных координат, поэтому для таких систем требуется 1000 000 000 000. Часто разрешенная матрица является лучшим решением, поскольку не все значения обычно установлен. –

Смежные вопросы