У меня есть два класса сущностей: A и B. У A есть сущности B, и у меня есть Map
, определенный в следующем формате: Map<A, List<B>
.
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
/** for each workpoint */
for (A aResult : map.keySet()) {
List<B> bResultList = map.get(aResult);
dataset.addValue(
(double) 1 / (1 + bResultList.size()),
"WorkPoint " + aResult.getTimeStep(),
"WP T=" + aResult.getTimeStep());
/** for each contingency result */
for (B bResult : bResultList) {
dataset.addValue(
(double) 1 / (1 + bResultList.size() + 6),
bResult.getName(),
"WP T=" + aResult.getTimeStep());
}
}
Но когда я добавляю все данные карты в набор данных, все ключи строк не сохраняются. Когда я отлаживаю, набор данных имеет только 9 строк. (A1,B1,B2,B3,B4,A2,A3,A4,A5) Только B объектов из первого объекта A сохраняются как ключи строки. Другие объекты B другого объекта A не хранятся в базе данных.
Но когда я показываю график, все данные отображаются на графике, но в неправильном порядке. Порядок следующий.
A1-B1-B2-B3-B4
B1-B2-B3-B4-A2
B1-B2-B3-B4-A3
B1-B2-B3-B4-A4
B1-B2-B3-B4-A5
Я хочу отображать как
A1-B1-B2-B3-B4
A2-B1-B2-B3-B4
A3-B1-B2-B3-B4
A4-B1-B2-B3-B4
A5-B1-B2-B3-B4