1、Map.containsKey方法——判断Map集合对象中是否包含指定的键名

该方法判断Map集合对象中是否包含指定的键名。如果Map集合中包含指定的键名,则返回true,否则返回false。

语法 containsKey(Object key)

public static void main(String[] args) {
  Map map = new HashMap();       //定义Map对象
  map.put("apple", "新鲜的苹果");      //向集合中添加对象
  map.put("computer", "配置优良的计算机");
  map.put("book", "堆积成山的图书");
  map.put("time", new Date()); 
  String key = "book"; 
  boolean contains = map.containsKey(key);    //判断是否包含指定的键值
  if (contains) {         //如果条件为真
   System.out.println("在Map集合中包含键名" + key); //输出信息
  } else {
   System.out.println("在Map集合中不包含键名" + key);
  }
}

2、Map简介

对比:
Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。

Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。

Collection中的集合称为单列集合,Map中的集合称为双列集合。

需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。

Map:HashMap集合、LinkedHashMap集合。

HashMap<K,V>:存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

LinkedHashMap<K,V>:HashMap下有个子类LinkedHashMap,存储数据采用的哈希表结构+链表结构。通过链表结构可以保证元素的存取顺序一致;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

注意:Map接口中的集合都有两个泛型变量<K,V>,在使用时,要为两个泛型变量赋予数据类型。两个泛型变量<K,V>的数据类型可以相同,也可以不同。

Map接口中的常用方法

public class MapDemo {
    public static void main(String[] args) {
        //创建Map对象
        Map<String, String> map = new HashMap<String,String>();       //数据采用的哈希表结构
        //给map中添加元素
        map.put("星期一", "Monday");
        map.put("星期日", "Sunday");
        System.out.println(map); // {星期日=Sunday, 星期一=Monday}
 
        //当给Map中添加元素,会返回key对应的原来的value值,若key没有对应的值,返回null
        System.out.println(map.put("星期一", "Mon")); // Monday
        System.out.println(map); // {星期日=Sunday, 星期一=Mon}
 
        //根据指定的key获取对应的value
        String en = map.get("星期日");
        System.out.println(en); // Sunday
        
        //根据key删除元素,会返回key对应的value值
        String value = map.remove("星期日");
        System.out.println(value); // Sunday
        System.out.println(map); // {星期一=Mon}
    }
}

-------------------------------------------------------------

遍历一个map,从中取得key和value :

Map m= new HashMap();

for(Object obj : map.keySet()){

Object value = map.get(obj );

}