【发布时间】:2021-11-15 06:19:10
【问题描述】:
合并两张地图后,我注意到在显示合并后的地图时最后一张位于顶部:
Map<Integer, String> dataToSage = new HashMap<Integer, String>();
for(InterventionDTO i : list) {
Map<Integer, String> data = interfaceSageService.getDataToSendToSAGEFromIntervPlanMP(i.getIdintervention());
data.forEach((key, value) -> dataToSage.merge(key, value, (oldValue, newValue) -> {
return newValue;
}));
}
它给出的输出是:
虽然在数据库中数据是有序的:
那么在合并过程中如何将最后一张合并的地图放在底部呢?
【问题讨论】:
-
即使是数据库也不是很有序,尽管你认为它是有序的。除非您指定顺序,否则数据库不需要以任何特定顺序返回行。尽管从实际的角度来看,它通常会按顺序输出,但这是由于以正确的顺序插入的实际原因意味着行按该顺序排列在磁盘上,但不能保证并且可以更改。顺便说一句,而不是循环,你可以
dataToSage.putAll(data);