我正在尝试在我的Java游戏中使用HashMap
将Entity
存储在Stage
类中并更新它们。我这样做,所以我希望能确切地确定哪个对象在哪里用一把钥匙。我希望它能找到密钥本身,但这是我的代码。
public class Stage {
private HashMap<String, Entity> entityHash = new HashMap<String, Entity>();
public Stage(){
}
public void addToStage(Entity e){
entityHash.put(e.getKey(), e);
}
public void test(){
for(int i = 0; i < entityHash.size(); i++){
//Line to be discussed about
System.out.println(entityHash.get("player").getPosition());
}
}
}
在我上面要讨论的代码行中,有没有办法让代码自己找到密钥。每个实体都有一个名为getKey()
的方法,我想知道我是否能以某种方式得到它。
注意:我可以轻松地通过为密钥设置ArrayList
字符串并循环通过这种方式来实现这一点,但我希望有人能够更轻松地执行此操作我失踪了。谢谢!
答案 0 :(得分:0)
地图有一种方法可以返回使用它的一组密钥keySet()。
您可以像这样迭代它:
public void test(){
for(String key : entityHash.keySet()){
System.out.println(entityHash.get(key).getPosition());
}
}