检查Java HashMap 中是否存在特定键
Java中的HashMap是对Hash Table 数据结构进行排序的实现。它由键和值对组成,符号表示为
有多种方法可以检查特定密钥是否存在,如下所述:
- 使用 HashMap 类的内置containsKey()方法
- 将HashMap 的键转换为列表,然后遍历它们
- 从 HashMap 的所有条目创建一个 Map,然后对其进行迭代
方法一:
使用这种方法,我们使用 HashMap 类的containsKey()预定义方法,该方法返回一个布尔值。
句法:
Hash_Map.containsKey(key_element)
参数:该方法仅采用一个参数key_element ,该参数指的是应该在映射中检查其映射的键。
返回值:如果检测到密钥的存在,则该方法返回布尔值 true,否则返回 false
算法 :
- 创建一个返回类型为布尔值的函数。
- 在函数内部,创建一个新的 HashMap,分别指定键和值的数据类型。
- 使用 HashMap 类的 put() 方法用键值对填充 HashMap。
- 声明一个布尔变量来存储结果。
- 以待检查的key为参数调用HashMap类的containsKey()方法。
- 返回变量。
代码 :
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 到 3。
- 接下来,我们使用 HashMap 类的 keySet() 预定义方法初始化一个与 HashMap 的键相同数据类型的 ArrayList。
- 对于下一步,我们声明一个迭代器来迭代上面创建的 ArrayList 的元素。
- 然后,如果特定键与上面创建的 ArrayList 的任何元素匹配,我们就会在每次迭代中遍历 ArrayList 检查。
- 返回相应的输出。
代码 :
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 到 3 以创建 HashMap。
- 使用 for each 循环和 HashMap 类的 entrySet() 预定义方法,创建相同的 Map。
- 在 for 循环的每次迭代中,使用 Map 类的内置 getKey() 方法从上面构建的 Map 中获取一个键。
- 将其与指定的键进行比较。
- 如果键与键集中的任何元素匹配,则返回 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