[英]Putting into TreeMap - strange behavior
如有任何建议,我将不胜感激。 我有以下代码:
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
进行迭代,在此vector中为35036。 tmp1
和tmp2
变量仅供检查。 80%的数据被跳过(如果block,obs.toList()。size()为35036),其余的数据(20%)则被我使用。 问题:我在else
块中重复了7007次,但是在predictPoints
中只有7003个项目。 如果我使用较少的数据,则不会发生此问题。 如果我使用不带Date
TreeMap
,例如TreeMap<Integer, Double>
则我在地图中有7007个项目,这是正确的。 每个数字都是唯一的-我测试了它。 4件丢失的物品在哪里? :-(
感谢您的任何建议。
地图不支持重复键,因此,如果将7007
项添加到地图,但最终只能包含7003
项,则其中4
个项具有重复键并替换了先前的值。
检查put()
的返回值以检查它是否替换了现有值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.