我需要将结果集转换为地图地图。我不使用地图列表的原因是因为我不想遍历整个列表来获取特定行。
我现在面临的问题是,如果索引大于 16,则不再对 HashMap 的条目进行排序。
现在我尝试了以下简单测试:
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<Integer, String>();
//creating 20 rows from 1 to 20
for (int i = 1; i <= 20; i++){
map.put(i, "ROW "+i);
}
//returning all the rows the map contains. Look at position 16.
for(int key : map.keySet()){
System.out.println(key);
}
}
输出如下(查看位置 16 到 20。它们完全无序):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 16 19 18 20
如果有人能解释为什么会发生这种情况,我将不胜感激。
顺便说一下:
我不能使用这样的东西:
for (int i = 0; i < map.size; i++){
map.get(i) //...and so on
}
因为我不知道索引是否存在。可能是从200到800的索引不存在。所以最好只遍历地图的现有条目。