Map集合
-
Map集合是接口,interface Map <K , V> K:键的类型; V:值的类型
将键映射到值得对象;不能包含重复的键;每个键可以映射到最多一个值。例如:001 令狐冲 ; 002 岳不群 ; 003 左冷禅(一个键对应一个值)
创建Map集合的对象,采用多态的方式;具体的实现类HashMap
public class MapDemo{ public static void main(String[] args){ //创建集合对象 Map<String, String> map = new HashMap<String,String>();//HashMap保证键的唯一性 //V put(K key, V value)将指定的值与该映射中的指定键相关联 map.put("001","令狐冲"); map.put("002","岳不群"); map.put("003","左冷禅"); map.put("003","任我行");//第一次输入是添加;第二次输入相同键是修改。 //输出集合对象 System.out.println(map); } }
-
Map集合的基本功能
方法名 说明 V put(K key,V value) 添加元素 V remove(Object key) 根据建删除值对元素 void clear() 移除所有的键值对元素 boolean containsKey(Object key) 判断集合是否包含指定的键 boolean containsValue(Object value) 判断集合是否包含指定的值 boolean isEmpty() 判断集合是否为空 int size() 集合的长度,也就是集合中键值对的个数 public class MapDemo{ publci static void main(String[] args){ //创建集合对象 Map<String,String> map = new HashMap<String,String>(); //添加 map.put("张无忌","赵敏"); map.put("郭靖","黄蓉"); map.put("尹志平","小龙女"); //删除 System.out.println(map.remove("郭靖")); //清除所有键值对元素 map.clear(); //判断是狗包含指定的键 System.out.println(map.containsKey("郭靖")); //判断集合是否为空 System.out.println(map.isEmpty()); //输出集合 System.out.println(map); } }
//Map集合的获取功能
方法名 说明 V get (Object key) 根据建获取值 Set<K> KeySet() 获取所有键的集合 Collection <V> values() 获取所有值的集合 Set<Map.Entry<K, V>> entrySet() 获取所有键值对对象的集合 //遍历Map集合
public class MapDemo{ publci static void main(String[] args){ //创建集合对象 Map<String,String> map = new HashMap<String,String>(); //添加 map.put("张无忌","赵敏"); map.put("郭靖","黄蓉"); map.put("尹志平","小龙女"); //获取所有键的集合,用keySet()方法实现 Set<String> KeySet = map.keySet(); //遍历键的集合,获取到每一个键,用增强for实现 for(String key : keySet){ //根据键去找值,用get(Object key)方法实现 String value = map.get(key); System.out.println(key + "," + value); }
//遍历方法2,获取所有键值对对象的集合:Set<Map.Entry<K, V>> entrySet():获取所有键值对对象的集合。遍历键值对对象的集合,得到每一个键值对对象,用增强for实现,得到每一个Map.Entry。根据键值对对象获取键和值:getKey()得到键,getValue()得到值。
public class MapDemo{ publci static void main(String[] args){ //创建集合对象 Map<String,String> map = new HashMap<String,String>(); //添加 map.put("张无忌","赵敏"); map.put("郭靖","黄蓉"); map.put("尹志平","小龙女"); //获取所有键值对对象的集合 Set<Map.Entry<String,String>> entrySet = map.entrySet(); //遍历键值对对象集合,得到每一个键值对对象 for(Map.Entry<String,String> me:entrySet){ //根据键值对对象获取键和值 String key = me.getKey(); String value = me.getValue(); System.out.println(key + "," + value); }