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()); } }