有没有办法在Java中组合列表和数组?我将图 block map 的数据存储在 2D 数组而不是 2D 列表中,因为这样我可以为它们定义设定的大小。到目前为止它是有效的,因为每个位置都有一个图 block ,并且只能有一个对象占据它。现在我想向单个图 block 添加多个效果,但Java不允许创建带有泛型的数组,因此没有ArrayList[][]。如果每个图 block 都是它自己的对象,它可能只有自己的效果数组列表,但我真的想避免这种情况。另外我不知道每个图 block 可能有多少效果,所以我不能只定义一个 3D 数组。
有关如何解决此问题的任何建议。我想要更多面向设计的建议,而不是通过黑客来解决数组/泛型问题。
最佳答案
我认为更加面向对象的方法比复杂的嵌套结构更适合您。
将您想要的内容封装到一个可以用更简单的东西维护的单个对象中。我发现你的方法变得迟钝并且很难很快遵循。
如果每个稀疏条目都保留其在网格中的(i, j)
位置及其状态,则可以维护单个稀疏条目List
。
关于java - 创建列表数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16995556/