Java集合Map Map: 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 1.1 Map集合的成员方法V put(K key,V value):添加元素 V remove(Object key):根据键删除键值对元素 void clear():移除所有的键值对元素 booleancontainsKey(Object key):判断集合是否包含指定的键 booleancontainsValue(Object value):判断集合是否包含指定的值 boolean isEmpty():判断集合是否为空 int size():返回集合中的键值对的对数 packagecom.itheima_01; importjava.util.HashMap; import java.util.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():返回集合中的键值对的对数 * * Map集合中的实现类的数据结构只针对键有效。 */ public class MapDemo2{ public static void main(String[] args) { //创建集合对象 Map<String,String> map = newHashMap<String,String>(); //V put(K key,V value):添加元素 //如果键是第一次存储,就直接存储元素,返回null //如果键不是第一次存储,就用值把以前的值替换,返回以前的值 // System.out.println("put:"+map.put("张无忌","周芷若")); // System.out.println("put:"+map.put("张无忌","赵敏")); map.put("张无忌","赵敏"); map.put("郭靖","黄蓉"); map.put("杨过","小龙女"); //V remove(Object key):根据键删除键值对元素 // System.out.println("remove:"+map.remove("郭靖")); // System.out.println("remove:"+map.remove("郭襄")); //void clear():移除所有的键值对元素 //map.clear(); //boolean containsKey(Object key):判断集合是否包含指定的键 // System.out.println("containsKey:"+map.containsKey("郭靖")); // System.out.println("containsKey:"+map.containsKey("郭襄")); //boolean containsValue(Object value):判断集合是否包含指定的值 自己练习 //boolean isEmpty():判断集合是否为空 //System.out.println("isEmpty:"+map.isEmpty()); //int size():返回集合中的键值对的对数 System.out.println("size:"+map.size()); //输出集合对象 System.out.println(map); } } 1.2 Map集合的获取功能测试V get(Object key):根据键获取值 Set<K> keySet():获取所有键的集合 Collection<V>values():获取所有值的集合 packagecom.itheima_01; importjava.util.Collection; importjava.util.HashMap; import java.util.Map; import java.util.Set; /* * V get(Object key):根据键获取值 * Set<K> keySet():获取所有键的集合 * Collection<V> values():获取所有值的集合 */ public class MapDemo3{ public static void main(String[] args) { //创建集合对象 Map<String,String> map = newHashMap<String,String>(); //添加元素 map.put("郭靖","黄蓉"); map.put("杨过","小龙女"); map.put("张无忌","赵敏"); //V get(Object key):根据键获取值 System.out.println("get:"+map.get("张无忌")); System.out.println("get:"+map.get("张三丰")); System.out.println("--------------------"); //Set<K> keySet():获取所有键的集合 Set<String> set = map.keySet(); for(String key : set) { System.out.println(key); } System.out.println("--------------------"); //Collection<V> values():获取所有值的集合 Collection<String> values =map.values(); for(String value : values) { System.out.println(value); } } 1.3 Map集合的遍历之键值对对象找键和值Map集合遍历的方式2 思路: A:获取所有结婚证的集合 B:遍历结婚证的集合,得到每一个结婚证 C:根据结婚证获取丈夫和妻子 转换: A:获取所有键值对对象的集合 B:遍历键值对对象的集合,得到每一个键值对对象 C:根据键值对对象获取键和值
1.4 集合的嵌套练习之ArrayList嵌套HashMap案例代码十五: package com.itheima; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /* * 需求:ArrayList集合嵌套HashMap集合并遍历。 * 定义一个ArrayList集合,它包含三个元素,每一个元素都是HashMap类型的。 * 每一个HashMap集合的键和值都是String类型的, * 键:String 丈夫的姓名 * 值:String 妻子的姓名 * 给出如下的字符串数据,请用代码实现需求。 * 第一个HashMap集合的元素: * 孙策 大乔 * 周瑜 小乔 * 第二个HashMap集合的元素: * 郭靖 黄蓉 * 杨过 小龙女 * 第三个HashMap集合的元素: * 令狐冲 任盈盈 * 林平之 岳灵珊 */ public class ArrayListIncludeHashMapTest { publicstatic void main(String[] args) { //创建集合对象 ArrayList<HashMap<String,String>>array = new ArrayList<HashMap<String,String>>(); //创建元素1 HashMap<String,String>hm1 = new HashMap<String,String>(); hm1.put("孙策","大乔"); hm1.put("周瑜","小乔"); //把元素添加到array中 array.add(hm1); //创建元素2 HashMap<String,String>hm2 = new HashMap<String,String>(); hm2.put("郭靖","黄蓉"); hm2.put("杨过","小龙女"); //把元素添加到array中 array.add(hm2); //创建元素3 HashMap<String,String>hm3 = new HashMap<String,String>(); hm3.put("令狐冲","任盈盈"); hm3.put("林平之","岳灵珊"); //把元素添加到array中 array.add(hm3); //遍历ArrayList集合 for(HashMap<String,String>hm : array) { Set<String>set = hm.keySet(); for(Stringkey : set) { Stringvalue = hm.get(key); System.out.println(key+"---"+value); } System.out.println("-----------------"); } } }
|