使用HashMap在Java中存储和检索对象

时间:2016-05-24 08:07:03

标签: java

我正在尝试在我的Java游戏中使用HashMapEntity存储在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字符串并循环通过这种方式来实现这一点,但我希望有人能够更轻松地执行此操作我失踪了。谢谢!

1 个答案:

答案 0 :(得分:0)

地图有一种方法可以返回使用它的一组密钥keySet()

您可以像这样迭代它:

public void test(){
    for(String key : entityHash.keySet()){
        System.out.println(entityHash.get(key).getPosition());
    }
}