您的位置:

Java containsKey方法的使用

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()方法的特点,结合其他方法,实现一些较为复杂的功能,如键值对交集的操作和字符串重复的统计等。