Map 用于保存具有映射关系的数据,因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 key,另外一组值用于保存 Map 里的 value ,key 和 value 都可以是引用类型的数据。Map 的 key 不允许重复,即同一个Map 对象的任何两个 key 通过 equals 方法比较总是返回 false。

  key 和 value 之间存在单向一对一关系,即通过指定的 key,就可以找到相对应的 value。

public static void main(String[] args) {
        
        Dog ououDog=new Dog("欧欧","雪纳瑞");
        Dog yayaDog=new Dog("亚亚","拉布拉多");
        Dog meimeiDog=new Dog("美美","雪纳瑞");
        Dog feifeiDog=new Dog("菲菲","拉布拉多");
        Map map=new HashMap();
        
        //添加
        map.put(ououDog, ououDog);
        map.put(yayaDog, yayaDog);
        map.put(meimeiDog, meimeiDog);
        map.put(feifeiDog, feifeiDog);
        
        //查询map集合中是否包含指定的 key ououDog ,包含返回 true,否则返回 false
        System.out.println(map.containsKey(ououDog));   
        
        //查询map集合当中是否包含一个或多个value ououDog ,包含返回 true,否则返回 false
        System.out.println(map.containsValue(ououDog));
        
        //删除指定的 key 所对应的key-value对,并会返回被删除的 key所关联的 value,如果key不存在,返回为 null
        Dog dog1=(Dog)map.remove(ououDog);
        
        //获取map集合的key-value对的个数
        System.out.println(map.size());
        
        //查询map集合是否为空,为空返回 true,否则返回false
        System.out.println(map.isEmpty());
        
        for (Object item : map.keySet()) {   //keySet() 方法时返回键的集合
            Dog dog=(Dog)map.get(item);  //根据 key 获取对应的值
            System.out.println(dog.getName());
        }
        
        Iterator it=map.keySet().iterator(); 
        while(it.hasNext()){
            Dog dog=(Dog)it.next();
            System.out.println(dog.getName());
        }
          
    }

 

 posted on 2017-08-17 17:06  【邵江】  阅读(164)  评论(0编辑  收藏  举报