例如,我需要在hashmap中存储10个对象。
因此它创建了密钥1,2,3,4,5
然后,当我完成'3'时,它会删除整个条目并键入'3'。使该键能够重新用于新的对象映射 - 如果我运行,通过整数溢出或其他东西。
思想?
public static HashMap <GameKey, GameState> myMap = new HashMap<GameKey, GameState>();
int i=0;
public void MapNewGameState(Gamestate gs){
myMap.add(i, gameStateA);
i++;
}
myMap.remove("3");
//Now I want to be sure that my MapNewGameState function is able to eventually map a new GameState to the key "3" later on,
这是一个关于是否可以这种方式使用HashMaps的问题。
答案 0 :(得分:1)
根据我的理解,你提出了一个密钥池,你可以获得密钥,如果你不再需要它,你就把它放回池中了?如果是这样,这并没有多大意义,因为它增加了代码的复杂性,但没有其他好处(通常你会创建一些昂贵的东西来创建或保存)。通常你想回收价值而不是钥匙?
要创建真正(实用)的唯一键,请使用UUID.randomUUID()
,这样您就不必担心键。