我遇到了同样的问题,但是我的解决方案是使用Map /
HashMaps,但是它们是一维的。
为了克服这个问题,我使用了通用的Pair类(不是在普通的Java库中会找到的东西),而不是在地图中使用地图(这会造成混乱和效率低下),尽管您可以将其替换为Position类。
(实际上是相同的代码,但不是通用代码,而是整数或浮点数)。
因此,在定义地图时:
Map<Pair, Tile> tiles = new HashMap<Pair, Tile>;
为了将瓷砖对象放置在我所使用的地图上
tiles.put(new Pair(x, y), newGrassTile());以及检索对象
tiles.get(new Pair(x, y));。
[x / y将是您希望放置的任何坐标( 这将允许负坐标 而不会造成任何混乱!),“ new
GrassTile()”只是在地图创建过程中放置某种类型的图块的示例。显然-如前所述-Pair类是可替换的。]
为什么不问您的ArrayList?因为数组列表比映射更线性,而且我认为添加和检索图块更加困难,尤其是在2维上。
更新:
对于想知道为什么Java中没有Pair()类的人,这里有一个解释。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)