此代码按如下方式创建Hashtable:
"00:00-01:00" - 0, "01:00-02:00" - 0, ..., "23:00-00:00" - 0
Hashtable<String,Integer> distr = new Hashtable<String,Integer>();
numHoursPerDay = 24;
int interval;
int[] count = new int[numHoursPerDay];
String[] intervals = new String[numHoursPerDay];
for (int h = 0 ; h != 24 ; h++) {
intervals[h] = String.format("%02d:00-%02d:00", h, ((h+1)%24));
distr.put(intervals[h], count[h]);
}
然而,distr
中的密钥序列是随机的,例如
"10:00-11:00" - 0, "23:00-00:00" - 0, "00:00-01:00" - 0, ...
在intervals
中保存密钥时如何保留distr
中给出的序列?
答案 0 :(得分:3)
使用LinkedHashMap
代替,您将能够按插入顺序迭代它。也可以在最后使用的配置中使用LinkedHashMap
。