栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java:用于存储无限游戏世界的坐标图的良好数据结构是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java:用于存储无限游戏世界的坐标图的良好数据结构是什么?

我遇到了同样的问题,但是我的解决方案是使用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()类的人,这里有一个解释。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438438.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号