структура данных для табличных данных - PullRequest
2 голосов
/ 02 августа 2010

Мне нужно представить данные (полученные из БД), представляющие табличные данные (с осями x и y):

С парой (x,y) связаны данные (объект). Что было бы наиболее семантически правильным способом представления этой структуры? Конечно, мне нужно извлекать данные путем индексации либо по x, либо по y, но симметричный способ представить это было бы замечательно.

Сложность состоит в том, что одни только x и y не отображаются на объект данных с помощью пары (x, y) делает . Я придумал такие вещи, как карта от x до другой карты с y в качестве ключа и объект данных в качестве значения ... но это не так легко преобразовать и не очень симметрично.

Спасибо

Ответы [ 2 ]

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

Рассматривали ли вы что-то подобное?

class MyPoint {
    int x;
    int y;
    Object data;
    // setters/getters go below
}

Вы можете использовать sql (или hibernate / jpa) для получения данных по координатам x или y.
Лично я не думаю, что «индексирование» должно быть частью структуры данных: база данных справится с этим без вашей помощи.

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

Ваши табличные данные, я думаю, должны быть в форме некоторой функции, для которой f(x) = y, если это так, я думаю, что HashMap будет в порядке.

Как ваш вопрос о симметрии, я думаю, вы могли бы реализовать какой-то класс

public class Pair{
   private long id;
   private int x;
   private int y;
   private Data data;
}

Тогда вы можете хранить его в какой-то другой структуре, которую считаете подходящей. Что касается вашей индексации, я не знаю, будет ли это хорошей идеей, учитывая, что вы можете иметь дубликатов значений данной пары x, y для разных наборов данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...