我写了一个安卓应用。它是旧棋盘游戏 Connect 4 的简单版本。目前,我的“棋盘”对象包含已放置在棋盘上的计数器。这场比赛有 2 名玩家。
Board 类由 7 个 ArrayList 对象组成,每个对象代表板上的一列。(板为 7 x 6 向上)。因此,例如,当红色玩家点击屏幕上的第三列时,我调用
boardObj.addCounter("red", column);
在 addCounter() 函数的板对象内部,它执行类似的操作
column3.add(playerColor);
因此 ArrayList column3 添加了另一个项目,依此类推。
我的问题是 - 与使用 7 ArrayLists 相比,我可以使用更好的数据结构吗?我注意到,在将计数器添加到板上后调用的检查是否有胜利的函数在 CPU 方面变得相当昂贵。什么结构可以让我获取和设置数据并以最佳性能运行我的 checkwin() 算法?