📜  检查Java HashMap 中是否存在特定键

📅  最后修改于: 2022-05-13 01:54:19.564000             🧑  作者: Mango

检查Java HashMap 中是否存在特定键

Java中的HashMap是对Hash Table 数据结构进行排序的实现。它由键和值对组成,符号表示为 ,其中 K 代表键,V 代表值。它是 Maps 接口的一个实现,并且在通过 put 和 get 方法分配和访问元素时提供恒定时间性能的方式具有优势。它用于形成关联对并基于另一个访问或修改一个。

有多种方法可以检查特定密钥是否存在,如下所述:

  • 使用 HashMap 类的内置containsKey()方法
  • HashMap 的键转换为列表,然后遍历它们
  • 从 HashMap 的所有条目创建一个 Map,然后对其进行迭代

方法一:

使用这种方法,我们使用 HashMap 类的containsKey()预定义方法,该方法返回一个布尔值。

句法:

Hash_Map.containsKey(key_element)

参数:该方法仅采用一个参数key_element ,该参数指的是应该在映射中检查其映射的键。

返回值:如果检测到密钥的存在,则该方法返回布尔值 true,否则返回 false

算法 :

  1. 创建一个返回类型为布尔值的函数。
  2. 在函数内部,创建一个新的 HashMap,分别指定键和值的数据类型。
  3. 使用 HashMap 类的 put() 方法用键值对填充 HashMap。
  4. 声明一个布尔变量来存储结果。
  5. 以待检查的key为参数调用HashMap类的containsKey()方法。
  6. 返回变量。

代码 :

Java
// java program to check if a particular
// key exists in HashMap
 
import java.util.*;
 
class GFG {
 
    // declaring the method
    // the parameter keyToBeChecked is the
    // key to be checked
    boolean checkForKey(String keyToBeChecked)
    {
 
        // initializing the hashmap
        HashMap hashMap =
          new HashMap<>();
 
        // filling the key - value pairs in hashmap
        hashMap.put("first", 1);
        hashMap.put("second", 2);
        hashMap.put("third", 3);
        hashMap.put("fourth", 4);
 
        // variable to store the boolean value
        // for result
        boolean result
            = hashMap.containsKey(keyToBeChecked);
 
        // returning the result
        return result;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
 
        // instantiating the class
        GFG ob = new GFG();
 
        // displaying and calling the checkForKey()
        // method
        System.out.println(ob.checkForKey("fourth"));
    }
}


Java
// java program to check if a particular
// key exists in the HashMap
 
import java.util.*;
 
class GFG {
 
    // declaring the method
    // the parameter keyToBeChecked is
    // the key to be checked
    boolean checkForKey(String keyToBeChecked)
    {
 
        // initializing the HashMap
        HashMap hashMap =
          new HashMap<>();
 
        // filling the key-value pairs
        // in the HashMap
        hashMap.put("first", 1);
        hashMap.put("second", 2);
        hashMap.put("third", 3);
        hashMap.put("fourth", 4);
 
        // creating an ArrayList from the keys
        ArrayList listOfKeys
            = new ArrayList<>(hashMap.keySet());
 
        // declaring the iterator
        Iterator itr = listOfKeys.iterator();
 
        // loop to iterate through the
        // elements of the ArrayList
        while (itr.hasNext()) {
 
            // condition to check against
            // the specific key
            if (itr.next() == keyToBeChecked)
                return true;
        }
        return false;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
 
        // instantiating the class
        GFG ob = new GFG();
 
        // displaying and calling the
        // checkForKey method
        System.out.println(ob.checkForKey("second"));
    }
}


Java
// java program to check if a particular
// key exists in the HashMap
 
import java.util.*;
 
class GFG {
 
    // declaring the method
    // the parameter keyToBeChecked specifies
    // the particular key
    boolean checkForKey(String keyToBeChecked)
    {
 
        // initializing the HashMap
        HashMap hashMap = new HashMap<>();
 
        // filling up the key-value
        // pairs in the HashMap
        hashMap.put("first", 1);
        hashMap.put("second", 2);
        hashMap.put("third", 3);
        hashMap.put("fourth", 4);
 
        // intializing the for each loop
        // using which the entries of the
        // HashMap are stored in a Set
        for (Map.Entry mapEntries :
             hashMap.entrySet()) {
 
            // getting the keys and checking
            // against the specified key
            if (mapEntries.getKey() == keyToBeChecked)
                return true;
        }
        return false;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
 
        // instantiating the class
        GFG ob = new GFG();
 
        // desplaying and calling the
        // checkForKey method
        System.out.println(ob.checkForKey("seventh"));
    }
}



输出
true

方法二:

我们从 HashMap 的键创建一个 ArrayList,然后遍历它们以检查指定的键是否存在。

算法 :

  1. 重复第一种方法中提到的步骤 1 到 3。
  2. 接下来,我们使用 HashMap 类的 keySet() 预定义方法初始化一个与 HashMap 的键相同数据类型的 ArrayList。
  3. 对于下一步,我们声明一个迭代器来迭代上面创建的 ArrayList 的元素。
  4. 然后,如果特定键与上面创建的 ArrayList 的任何元素匹配,我们就会在每次迭代中遍历 ArrayList 检查。
  5. 返回相应的输出。

代码 :

Java

// java program to check if a particular
// key exists in the HashMap
 
import java.util.*;
 
class GFG {
 
    // declaring the method
    // the parameter keyToBeChecked is
    // the key to be checked
    boolean checkForKey(String keyToBeChecked)
    {
 
        // initializing the HashMap
        HashMap hashMap =
          new HashMap<>();
 
        // filling the key-value pairs
        // in the HashMap
        hashMap.put("first", 1);
        hashMap.put("second", 2);
        hashMap.put("third", 3);
        hashMap.put("fourth", 4);
 
        // creating an ArrayList from the keys
        ArrayList listOfKeys
            = new ArrayList<>(hashMap.keySet());
 
        // declaring the iterator
        Iterator itr = listOfKeys.iterator();
 
        // loop to iterate through the
        // elements of the ArrayList
        while (itr.hasNext()) {
 
            // condition to check against
            // the specific key
            if (itr.next() == keyToBeChecked)
                return true;
        }
        return false;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
 
        // instantiating the class
        GFG ob = new GFG();
 
        // displaying and calling the
        // checkForKey method
        System.out.println(ob.checkForKey("second"));
    }
}


输出
true

方法三:

我们遍历键检查指定的键是否存在。

算法 :

  1. 重复第一种方法中的步骤 1 到 3 以创建 HashMap。
  2. 使用 for each 循环和 HashMap 类的 entrySet() 预定义方法,创建相同的 Map。
  3. 在 for 循环的每次迭代中,使用 Map 类的内置 getKey() 方法从上面构建的 Map 中获取一个键。
  4. 将其与指定的键进行比较。
  5. 如果键与键集中的任何元素匹配,则返回 true,否则返回 false。

代码 :

Java

// java program to check if a particular
// key exists in the HashMap
 
import java.util.*;
 
class GFG {
 
    // declaring the method
    // the parameter keyToBeChecked specifies
    // the particular key
    boolean checkForKey(String keyToBeChecked)
    {
 
        // initializing the HashMap
        HashMap hashMap = new HashMap<>();
 
        // filling up the key-value
        // pairs in the HashMap
        hashMap.put("first", 1);
        hashMap.put("second", 2);
        hashMap.put("third", 3);
        hashMap.put("fourth", 4);
 
        // intializing the for each loop
        // using which the entries of the
        // HashMap are stored in a Set
        for (Map.Entry mapEntries :
             hashMap.entrySet()) {
 
            // getting the keys and checking
            // against the specified key
            if (mapEntries.getKey() == keyToBeChecked)
                return true;
        }
        return false;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
 
        // instantiating the class
        GFG ob = new GFG();
 
        // desplaying and calling the
        // checkForKey method
        System.out.println(ob.checkForKey("seventh"));
    }
}


输出
false