从HashMap返回一个元素

时间:2014-11-04 23:42:33

标签: java hashmap

所以我是Java的新手,并且在整个学期都在苦苦挣扎。在我目前的任务中,我们正在使用HashMap。我需要得到getAlbum。如果存在,则从HashMap返回一个Album,否则返回null。 @oaram albumName要返回的相册的名称 @return一个专辑或null

这是我现在拥有的。对我的回答不太自信。任何提示将非常感谢。我有一种感觉,我在代码中有一个太多的albumName。如此迷茫。我知道这并不困难。感谢

public Album getAlbum(String albumName)

    {
        if(albumName == albumName)
            return albumName;
    else 
        if(albumName == null)
            return null;
    }

1 个答案:

答案 0 :(得分:3)

注意,这将始终为真:

if(albumName == albumName) {

所以从来没有帮助。

使用地图获取您想要的内容:

// assuming a HashMap<String, Album> called map
public getAlbum (String albumName) {
   return map.get(albumName);
}

如果找不到匹配项,地图将返回null 根据{{​​3}}:

  

返回指定键映射到的值,如果此映射不包含键的映射,则返回null。

另外作为旁注和PShemo,永远不要使用==来比较字符串,因为==比较一个对象引用是否与另一个相同,在大多数情况下你不感兴趣。比较字符串时,您通常想知道两个字符串是否具有相同顺序的相同字符。所以请使用if (string1.equals(string2))if string1.equalsIgnoreCase(string2))