我会感激任何建议。我有这段代码:
TreeMap<Date, Double> predictPoints = new TreeMap<Date, Double>();
while(iterator_time.hasNext()) {
Date time = iterator_time.next();
if (count < obs.toList().size()) {
count++;tmp1++;
continue;
} else {
for (int j = 0; j <= degreePolynom; j++) {
predictConsumption += coeff[j] * Math.pow(time.getTime(), j);
}
predictPoints.put(time, predictConsumption);
predictConsumption = 0.0;
count++;tmp2++;
}
}
我遍历Vector
,在此向量中是35036数字。 tmp1
和tmp2
变量仅供检查。跳过80%的数据(如果是块,obs.toList()。size()是35036),我使用的是其余数据(20%)。问题:我在else
块中迭代7007次,但在predictPoints
中只有7003项。如果我使用较少的数据不会发生此问题。如果我使用TreeMap
而没有Date
,例如TreeMap<Integer, Double>
,那么我在地图中有7007个项目,它是正确的。每个号码都是独一无二的 - 我测试了它。
4件丢失的物品在哪里? : - (
感谢您的任何建议。
答案 0 :(得分:0)
地图不支持重复键,因此如果您向地图添加7007
项,但最终只有7003
项,那么4
项会有重复键, 替换之前的值。
检查put()
的返回值,检查它是否替换了现有值。