Map接口----Map中嵌套Map
作者:互联网
package cn.good.com; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /* * 一、 Map 接口? * * 1.map接口中 键和值----叫做映射。 * 2.给定一个键,一个值。存储在Map对象之后,通过键来获取!键不可以重复。值可以重复1 * 3.访问的值不存在,抛出异常NoSuchElementException异常! * 4.当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。 5.当在不允许使用Null对象的Map中使用Null对象,会抛出一个NullPointerException 异常。 6.当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异常。 * * 二、常用的集合 * * 1.HashMap---------【哈希表的存储结构,但是无法存取顺序】---- Map map01=new HashMap(); 无序 就是没有角标的 不要从0开始算! * 2.LinKedHashMap---【哈希表和链表,可以有序】----------------Map map02=new LinKedHashMap(); * * 三、方法 * * 1.put("a",1) 将键值存储到集合中 夫妻关系? * 2.get() 通过键获取值 没有的话返回-----[null] * 3.remove() 移除集合中的键值对 * * 四、Map接口怎么便利? * * 1.迭代 * for (Iterator it = map03.keySet().iterator(); it.hasNext();) { String type = (String) it.next(); Object value=(Object)map03.get(type); System.out.println(type+"<====> "+value); } * 2.for循环增强! * for(String key:map03.keySet()){------------------>【注意!】使用for增强时 map03 哪里不能省略 <String,Object> 否则会报错! Object a1=map03.get(key); System.out.println(key+" "+a1); } * * */ public class MapDemo01 { public static void main(String[] args) { map(); } //map 嵌套map public static void map(){ //一班 Map map01=new HashMap(); map01.put(001, "张三"); map01.put(002, "李四"); map01.put(003, "王五"); map01.put(004, "李四"); map01.put(005, "王五"); //二班 Map map02=new HashMap(); map02.put(004, "熊大"); map02.put(005, "熊二"); map02.put(006, "熊三"); //定义容器 key是班级名字,值是两个班级的容器 Map<String,Object> map03=new HashMap(); map03.put("一班", map01); map03.put("二班", map02); Object a=map01.remove(002); //删除2号元素 for (Iterator it = map01.keySet().iterator(); it.hasNext();) { //迭代便利输出! Integer type = (Integer) it.next(); //键值是int 类型 集合里面放的是引用数据类型 int<--->integer System.out.println(map01.get(type)); } System.out.println("==========="); /* for (int i=0;i<=map01.size();i++) { System.out.println(map01.get(i)); } */ //增强for循环 实现Map 接口便利! for(String key:map03.keySet()){ Object a1=map03.get(key); System.out.println(key+" "+a1); } //迭代获取对象元素! /* for (Iterator it = map03.keySet().iterator(); it.hasNext();) { String type = (String) it.next(); Object value=(Object)map03.get(type); System.out.println(type+"<====> "+value); }*/ } }
标签:Map,HashMap,接口,嵌套,map03,map02,map01,put 来源: https://www.cnblogs.com/ZXF6/p/10581750.html