Map 概述

map定义:将键映射到值的对象。key必须唯一,但是value可以重复。当你添加相同key的值的时候,value会被覆盖。

与之前的collection有什么区别呢?

  A:Map 存储的是键值对形式的元素,键唯一,值可以重复。【夫妻对】
  B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。【光棍】

常见操作
  boolean isEmpty()
  如果此映射未包含键-值映射关系,则返回 true。
 
  Set<K> keySet()
       获取该map的所有key
 
  V put(K key, V value)
  将指定的值与此映射中的指定键关联(可选操作)。
 
  void putAll(Map<? extends K,? extends V> m)
  从指定映射中将所有映射关系复制到此映射中(可选操作)。
 
  V remove(Object key)
  如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
 
  int size()
  返回此映射中的键-值映射关系数。
 
遍历操作

  A:键找值
   a:获取所有键的集合
   b:遍历键的集合,得到每一个键
   c:根据键到集合中去找值
  
  B:键值对对象找键和值
   a:获取所有的键值对对象的集合
   b:遍历键值对对象的集合,获取每一个键值对对象
   c:根据键值对对象去获取键和值

                       Map<String,String> hm = new HashMap<String,String>();
			hm.put("it002","hello");
			hm.put("it003","world");
			hm.put("it001","java");
		
			//方式1 键找值
			Set<String> set = hm.keySet();
			for(String key : set) {
				String value = hm.get(key);
				System.out.println(key+"---"+value);
			}
			
			//方式2 键值对对象找键和值
			Set<Map.Entry<String,String>> set2 = hm.entrySet();
			for(Map.Entry<String,String> me : set2) {
				String key = me.getKey();
				String value = me.getValue();
				System.out.println(key+"---"+value);
			}

 

原文地址:https://www.cnblogs.com/javabigdata/p/5605718.html