Java - 生成一系列可能的坐标

时间:2014-10-12 10:03:26

标签: java hashmap

我很抱歉问题的措词不好,但这是我能想到提出这个问题的最佳方式。

我初始化了一个Hashmap(hm),我想用它来存储一些名为LandPlots的对象,这些对象在被调用时会占用x和y坐标。

示例:

hm.put(new LandPlot(0,0),0);将在'0,0'

创建一个LandPlot

hm.put(new LandPlot(0,1),1);将在'0,1'

处创建一个LandPlot

我想用一个循环来做这个,然后创建足够的'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()是否是快速显示它是否有效的正确方法。

如果我能提供更多信息,请告诉我。

提前致谢, 道格。

2 个答案:

答案 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++;
        }
    } 

并且,在我为xy创建了getter之后,我在toString()中覆盖了LandPlot以返回:

return ("Land Plot at "+LandStore.getX()+","+LandStore.getY());

再次感谢,

道格。

相关问题