Структура данных на Java для хранения табличных данных, содержащих сгруппированные элементы

введите здесь описание изображения

Как лучше всего представить таблицы в Java, содержащие сгруппированные данные, как указано выше? Данные извлекаются из базы данных, которую необходимо обработать и сгруппировать. Конечная цель - перебрать данные и отобразить их на странице html. Производительность является серьезной проблемой.Единственное решение, которое я имею в виду, - это иметь карты внутри карт, где карта хранит определенное имя группы как `` ключ '', а другая карта как свое `` значение '', которое, в свою очередь, может представлять другую подгруппу, Подобный способ.


person Nevin    schedule 06.06.2016    source источник


Ответы (2)


Создайте объект, который может представлять все данные столбца как поля-члены, а затем сохраните список или набор этих объектов. Есть ли особая причина, по которой вы не можете этого сделать?

person venture    schedule 06.06.2016
comment
спасибо за проверку. Проблема в том, что потребуется несколько итераций по объектам, чтобы сгенерировать объекты, соответствующие строкам, в которых вы видите счетчики «Всего», эти значения не поступают из базы данных. Также предположим, что мы храним строку рядом с «Тип проблемы 1» в объекте, этот объект не будет содержать информацию о его «Типе проблемы», «Статусе» и т. Д. Моя конечная цель - иметь структуру данных, которую можно повторять и отображать как HTML-страницу. - person Nevin; 06.06.2016

Я бы посоветовал самому создать структуру данных и написать свои собственные методы итерации, чтобы иметь возможность полностью контролировать то, что она делает.

Вместо того, чтобы создавать карту карты с другой картой, создайте Chart, который содержит списки Problem (например, список для каждого типа проблемы), а Problem будет содержать статус, серьезность и все остальное.

Таким образом, вы можете управлять поведением итерации внутри каждого Problem, и вы можете контролировать итерацию для коллекций Problem. Затем вы можете суммировать серьезности внутри Problem, чтобы получить промежуточный итог. Когда вы пропускаете все проблемы (в Chart), вы суммируете каждый тип серьезности в отдельном элементе (type1criticaltotal, type2mediumtotal и т. Д. Это также может быть карта type1total), когда вы доходите до конца всего списка, вы суммируете все критики, все медиумы и т. д. в свои собственные члены. (criticaltotal, mediumtotal и т. Д.) Поскольку вы создали метод, вы полностью контролируете оптимизацию.

person OliPro007    schedule 06.06.2016