java - 从 HashMap 返回一个元素

标签 java hashmap

我是 Java 新手,整个学期都在努力学习它。在我当前的任务中,我们正在使用 HashMap。我需要获取 getAlbum。如果 HashMap 存在相册,则返回该相册,否则返回 null。 @oaram albumName 要返回的专辑名称 @返回专辑或 null

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

public Album getAlbum(String albumName)

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

最佳答案

请注意,这永远都是正确的:

if(albumName == albumName) {

所以从来没有帮助。

使用 map 获得你想要的东西:

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

如果未找到匹配项, map 将返回 null。
根据HashMap API :

Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.

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

关于java - 从 HashMap 返回一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26747189/

相关文章:

Java登录不读取加密密码

Java:删除字符串中的句号

regex - 从 map 中检索散列键

java - 如何在java中比较两个hashmap?

java - 为什么 Java 泛型不允许对泛型类型进行类型转换?

java - 在java中对数组进行排序

java - 带有附加 url 参数的 Restful 帖子?

ruby - 使用 block 构造函数序列化哈希

java - 哈希多映射问题

android - 如何使用 Hashmap 使 Android ListView 可点击?