public static HashMap<Integer, Point> fillCellsCreatures = new HashMap<Integer, Point>();
for(int i = 0; i < 4; i++){
Creature cre = new Creature();
cre.x = ((int)(Math.random() * ((30 - 10) +1)));
cre.y = ((int)(Math.random() * ((30 - 10) +1)));
cre.energy_level = 10;
//fillCellsCreatures.add(new Point(cre.x, cre.y));
fillCellsCreatures.put(cre.energy_level, new Point(cre.x, cre.y));
}
上面的代码是我试图添加到一个hashmap,其中包含一个int作为键,Point作为值。当我通过for循环添加到hashmap时,我似乎不断重写相同的位置,而不是移动到下一个位置来添加新值。有人可以帮助澄清我做错了什么,并指出我正确的方向。
干杯
答案 0 :(得分:0)
如果您需要更改使用以下代码,
public static HashMap<Integer, Point> fillCellsCreatures = new HashMap<Integer, Point>();
for(int i = 0; i < 4; i++){
Creature cre = new Creature();
cre.x = ((int)(Math.random() * ((30 - 10) +1)));
cre.y = ((int)(Math.random() * ((30 - 10) +1)));
cre.energy_level = 10 * i+1;
//fillCellsCreatures.add(new Point(cre.x, cre.y));
fillCellsCreatures.put(cre.energy_level, new Point(cre.x, cre.y));
}