Java中的Map集合是一种键值对形式的存储结构,其中键和值都可以是任意种类的对象。Map集合提供了一系列方法,用于对其中的键和值进行操作。其中,containsKey()方法是Map集合中的一种方法,它的作用是用于检查Map集合中是否包含指定的键。
一、containsKey方法的基本使用
containsKey()方法的基本语法如下所示:
public boolean containsKey(Object key)
其中,key表示要检查的键。方法的返回值为boolean类型,如果Map集合中包含了指定的键,则返回true,否则返回false。
下面是一段示例代码,演示了containsKey()方法的基本使用:
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
Map map = new HashMap();
map.put(1, "apple");
map.put(2, "banana");
map.put(3, "orange");
// 检查map是否包含键1
boolean containsKey = map.containsKey(1);
// 输出结果
System.out.println("Map中是否包含键1:" + containsKey);
}
}
在上面的示例代码中,我们创建了一个Map对象,并往其中添加了三个键值对。然后使用containsKey()方法来检查Map中是否包含键1。
当运行程序时,我们可以得到如下的输出结果:
Map中是否包含键1:true
从输出结果可以看出,containsKey()方法返回了true,说明Map集合中确实包含了指定的键。
二、containsKey方法的进阶使用
除了基本用法外,containsKey()方法还可以与其他方法一起使用,实现一些较为复杂的功能。
1. 利用containsKey()方法实现键值对交集的操作
假设我们有两个Map集合,分别存储A和B两个人的联系方式,我们想要找到两个人的共同联系方法。这时,我们可以使用containsKey()方法来判断两个Map集合中是否存在相同的键:
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Test {
public static void main(String[] args) {
Map map1 = new HashMap();
map1.put("phone", "123456789");
map1.put("email", "123@abc.com");
Map map2 = new HashMap();
map2.put("phone", "987654321");
map2.put("address", "beijing");
// 取出map1中所有的键
Set keySet = map1.keySet();
// 遍历每个键,检查map2中是否包含该键
for (String key : keySet) {
if (map2.containsKey(key)) {
System.out.println("A和B的共同联系方式:" + key + "=" + map1.get(key));
}
}
}
}
上面示例中,我们创建了两个Map集合map1和map2,分别存储A和B的联系方式。然后,我们取出了map1中的所有键,并遍历每个键,检查map2中是否包含该键。如果map2中包含该键,则说明这是两个人的共同联系方式。
当我们运行程序后,可以得到如下的输出结果:
A和B的共同联系方式:phone=123456789
从输出结果可以看出,两个人的共同联系方式是电话号码,这是两个Map中都包含的键。
2. 利用containsKey()方法实现字符串重复的统计
假设我们有一个字符串,我们想要统计其中每个字符出现的个数,并将结果保存在Map集合中。这时,我们可以遍历字符串中的每个字符,使用containsKey()方法来判断该字符是否已经在Map集合中:
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
String str = "hello world";
Map map = new HashMap();
// 遍历字符串中的每个字符
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
// 判断该字符是否已经在Map集合中
if (map.containsKey(c)) {
// 如果已经存在,则将计数器+1
int count = map.get(c) + 1;
map.put(c, count);
} else {
// 如果不存在,则将该字符添加到Map集合中,并将计数器设置为1
map.put(c, 1);
}
}
// 输出结果
System.out.println(map);
}
}
在上面的示例代码中,我们创建了一个字符串str和一个空的Map集合。然后,我们遍历字符串中的每个字符,使用containsKey()方法来判断该字符是否已经在Map集合中。如果已经存在,则将计数器+1;如果不存在,则将该字符添加到Map集合中,并将计数器设置为1。
当运行程序时,我们可以得到如下的输出结果:
{ =1, r=1, d=1, e=1, h=1, o=2, l=3, w=1}
从输出结果可以看出,字符串中每个字符出现的个数已经被记录在了Map集合中。
三、小结
containsKey()方法是Java中Map集合提供的一个用于检查集合中是否包含指定键的方法。在实际开发中,我们可以根据containsKey()方法的特点,结合其他方法,实现一些较为复杂的功能,如键值对交集的操作和字符串重复的统计等。
原创文章,作者:TOEG,如若转载,请注明出处:https://www.506064.com/n/140517.html
微信扫一扫
支付宝扫一扫