Java中的ConcurrentHashMap containsKey()方法
Java中的ConcurrentHashMap类中的containsKey()方法用于确定映射是否包含给定的键。它具有以下签名:
boolean containsKey(Object key)
其中:
key是要在映射中搜索的键。
containsKey()方法在并发环境中工作,这意味着它可以从多个线程中调用,而不会引起任何数据竞争或同步问题。
当执行containsKey()操作时,方法首先获取相应于给定键的地图段上的锁,然后检查键是否存在于地图中。如果找到键,则该方法返回true。否则,它返回false。
这是使用containsKey()方法的示例:
import java.util.concurrent.ConcurrentHashMap;
public class ConcurrentHashMapExample {
public static void main(String[] args)
{
ConcurrentHashMap<String, Integer> map
= new ConcurrentHashMap<>();
map.put("Alice", 25);
map.put("Bob", 30);
map.put("Charlie", 35);
boolean result = map.containsKey("Bob");
System.out.println("Map contains key Bob: "
+ result); // true
result = map.containsKey("Dave");
System.out.println("Map contains key Dave: "
+ result); // false
}
}
输出:
Map contains key Bob: true
Map contains key Dave: false
在此示例中,我们首先创建了一个ConcurrentHashMap并使用put()方法向其添加了三个键值对。
接下来,我们执行包含containsKey()操作,以检查键“Bob”是否存在于地图中。该方法返回true,然后我们打印结果。
最后,我们执行包含containsKey()操作,以检查键“Dave”是否存在于地图中。该方法返回false,然后我们打印结果。
java.util.concurrent.ConcurrentHashMap.containsKey()方法是Java中的内置函数,它接受一个参数并检查它是否是此映射中的键。
语法:
chm.containsKey(Object key_element)
参数: 该方法接受一个单个参数key_element,其对象类型要检查是否为键。
返回值: 如果指定的key_element是此地图的键,则该方法返回true;否则返回false。
异常: 当指定的key_element为null时,该函数抛出NullPointerException。
下面的程序说明了java.util.concurrent.ConcurrentHashMap.containsKey()方法的使用:
程序1: 此程序涉及将字符串值映射到整数键。
/* Java程序演示ConcurrentHashMap类的containsKey()方法 */
import java.util.concurrent.*;
class ConcurrentHashMapDemo {
public static void main(String[] args)
{
ConcurrentHashMap<Integer, String> chm
= new ConcurrentHashMap<Integer, String>();
chm.put(100, "Geeks");
chm.put(101, "for");
chm.put(102, "Geeks");
// 检查105是否为此映射中的键
if (chm.containsKey(105)) {
System.out.println("105是一个键。");
}
else {
System.out.println("105不是一个键。");
}
// 检查100是否为此映射中的键
if (chm.containsKey(100)) {
System.out.println("100是一个键。");
}
else {
System.out.println("100不是一个键。");
}
}
}
输出
105不是一个键。
100是一个键。
程序2: 此程序将整数值映射到字符串键。
/* Java程序演示ConcurrentHashMap类的containsKey()方法 */
import java.util.concurrent.*;
class ConcurrentHashMapDemo {
public static void main(String[] args)
{
ConcurrentHashMap<String, Integer> chm
= new ConcurrentHashMap<String, Integer>();
chm.put("Geeks", 120);
chm.put("for", 11);
chm.put("GeeksforGeeks", 15);
chm.put("Gfg", 50);
chm.put("GFG", 25);
// 检查GFG是否为此映射中的键
if (chm.containsKey("GFG")) {
System.out.println("GFG是一个键。");
}
else {
System.out.println("GFG不是一个键。");
}
// 检查Geek是否为此映射中的键
if (chm.containsKey("Geek")) {
System.out.println("Geek是一个键。");
}
else {
System.out.println("Geek不是一个键。");
}
}
}
输出
GFG是一个键。
Geek不是一个键。