Java 使用更改列表高效地更新地图

Java 使用更改列表高效地更新地图,java,optimization,dictionary,dart,Java,Optimization,Dictionary,Dart,想象一个简单的回合制游戏;有些球员各有自己的位置: Map<Player,ModelPosition> modelPositions 现在我的问题是如何有效地做到这一点。通过在Java中循环Map.Entry或在Dart中使用forEach,我可以稍微加快速度,但我真正的问题是我没有在GUI位置上进行迭代。我觉得继续访问它而不重复它是浪费。我错了吗 有没有一种在Java/Dart中实现的方法?我还对这里的一般原理感兴趣。我想知道为什么不使用一个Position类和两个getter,

想象一个简单的回合制游戏;有些球员各有自己的位置:

Map<Player,ModelPosition> modelPositions
现在我的问题是如何有效地做到这一点。通过在Java中循环Map.Entry或在Dart中使用forEach,我可以稍微加快速度,但我真正的问题是我没有在GUI位置上进行迭代。我觉得继续访问它而不重复它是浪费。我错了吗


有没有一种在Java/Dart中实现的方法?我还对这里的一般原理感兴趣。

我想知道为什么不使用一个Position类和两个getter,其中一个返回像素,另一个返回模型位置,如类Position{ModelPosition get ModelPosition=>…;PixelPosition get PixelPosition}那么您根本不需要循环,主要是因为视图依赖于html,所以无法进行单元测试。
Map<Player,PixelPosition> guiPositions
Map<Player,ModelPosition> movements
for(Player p in movements.keySet())
{
 guiPositions[p] = modelToPixelConverter(movements[p]))
}