我很抱歉问题的措词不好,但这是我能想到提出这个问题的最佳方式。
我初始化了一个Hashmap(hm),我想用它来存储一些名为LandPlots的对象,这些对象在被调用时会占用x和y坐标。
示例:
hm.put(new LandPlot(0,0),0);
将在'0,0'
hm.put(new LandPlot(0,1),1);
将在'0,1'
我想用一个循环来做这个,然后创建足够的'LandPlot'对象来填充8x6'游戏板'。
我尝试使用以下循环执行此操作:
for (x = 0; x < 9; x++) {
for (y = 0; y < 7; y++) {
hm.put(new LandPlot(x, y), i);
System.out.println(hm.values());
i++;
}
}
('x','y'和'i'全部初始化为'0')
现在,我确定两件事:
1)我所追求的应该是愚蠢的简单;我确信我之前在Jython中使用循环进行了图像处理,但是我不能为我的生活记住一个术语来正确描述它,因此很难找到我在网上寻找的信息
2)我是Hashmaps的新手,我怀疑hm.values()
是否是快速显示它是否有效的正确方法。
如果我能提供更多信息,请告诉我。
提前致谢, 道格。
答案 0 :(得分:2)
您将LandPlot存储为密钥而不是值。
请改为hm.put(i, new LandPlot(x,y));
。
答案 1 :(得分:0)
现在好了,谢谢你们。
我结合了两个答案的信息,最后得到了这个循环:
for(y = 0; y < 6; y++)
{
for(x = 0; x < 8; x++)
{
hm.put(i, new LandPlot(x, y));
System.out.println(hm.get(i));
i++;
}
}
并且,在我为x
和y
创建了getter之后,我在toString()
中覆盖了LandPlot
以返回:
return ("Land Plot at "+LandStore.getX()+","+LandStore.getY());
再次感谢,
道格。