繁体   English   中英

如何搜索存储在HashMap中的对象

[英]How to search Object stored in HashMap

我对HashMaps有疑问。 如何从HashMap搜索和返回对象详细信息

我在下面声明了哈希图

private  HashMap <String,Champions> AllChampions = new HashMap<String, Champions>();

在下面,我声明了一个对象并将其添加到数组中,并且我想搜索该对象

Champions d = new Worrier("Elblond", 200, "Sword");

AllChampions.put(b.getName(), b);

如何搜索存储在哈希图中的对象。 我在下面使用的代码不起作用

private boolean isChampion(String name)
{
    return AllChampions.containsKey(name);
}


public String getChampion(String name)
{
    if (isChampion(name))
    {
        return AllChampions.get(name).toString();
    }
    return null;
}

您的错误在这里:

Champions d = new Worrier("Elblond", 200, "Sword");
AllChampions.put(b.getName(), b); // you are adding b, but declared d

更改为:

AllChampions.put(d.getName(), d);

顺便说一句,您的getChampion()方法增加的价值很小:直接使用AllChampions.get(name)

关于最后一种方法的建议。

public Champion getChampion(String name)
{
    if (AllChampions.containsKey(name))
    {
        return (Champion) AllChampions.get(name);
    }
    return null;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM