java中map集合嵌套形式简单示例
2015-11-10 14:35
627 查看
定义了一个学生类,封装了id和name属性,提供一个全参构造器,并复写toSting方法 class Student{ private String id; private String name; Student(String id,String name){ this.id=id; this.name=name; } public String toString(){ return id+"::"+name; } }
Map<key,value> map集合是以键值对存储的,其中的键值也可以是集合,这样就出现了集合嵌套形式如:Map<String,Map<String,String>>;Map<String,List<Student>> 需求是传智播客的学校有就业班和预热班,每个类型的班级里有自己的学员的学号和姓名,要求进行遍历输出班级类型和学员信息: class MapDemo { public static void main(String[] args) { Map<String,List<Student>> czbk=new HashMap<String,List<Student>>();//定义一个map集合,其中键是String类型,值是List集合(list集合中存储的是学生类型的元素) List<Student> yureban=new ArrayList<Student>();//定义预热班集合 List<Student> jiuyeban=new ArrayList<Student>();//定义就业办集合 //向czbk Map集合中存入元素 czbk.put("yureban", yureban); czbk.put("jiuyeban", jiuyeban); //分别向预热班和就业班中存入元素 yureban.add(new Student("01","wuji")); yureban.add(new Student("02","zhangmin")); jiuyeban.add(new Student("01","damo")); jiuyeban.add(new Student("02","zushi")); 获取czbk中的键值,通过第一次循环获取键所对应的班级集合,在通过遍历班级集合来获取集合中的学生信息,通过两次while循环输入班级类型和学生信息 Iterator<String> it=czbk.keySet().iterator(); while(it.hasNext()){ String roomName=it.next(); List<Student> banji=czbk.get(roomName); Iterator<Student> iter=banji.iterator(); while(iter.hasNext()){ Student stu=iter.next(); Sop.sop(roomName+" "+stu.toString()); } } /* //该处代码与上面的功能一致,是在map集合中再嵌套一个map集合,并通过两次while循环获取班级类型和学生信息 Map<String,Map<String,String>> map=new HashMap<String,Map<String,String>>(); Map<String,String> yure=new HashMap<String,String>(); Map<String,String> jiuye=new HashMap<String,String>(); map.put("yureban", yure); map.put("jiuyeban", jiuye); yure.put("01", "zhangsan"); yure.put("02", "lisi"); jiuye.put("01"," wangwu"); jiuye.put("02", "zhaoliu"); Iterator<String> it=map.keySet().iterator(); while(it.hasNext()){ String nameRoom=it.next(); Map<String,String> nameMap=map.get(nameRoom); Iterator<Map.Entry<String, String>> iter=nameMap.entrySet().iterator(); while(iter.hasNext()){ Map.Entry<String, String> me=iter.next(); String id=me.getKey(); String name=me.getValue(); Sop.sop(nameRoom+"id: "+id+" name:"+name); } } */ } }
相关文章推荐
- Spark RDD API详解(一) Map和Reduce
- Python中map()函数浅析
- Android使用Google Map浅谈
- Erlang中的映射组Map详细介绍
- c++中map的基本用法和嵌套用法实例分析
- JavaScript中实现Map的示例代码
- jquery中map函数与each函数的区别实例介绍
- jquery中map函数遍历数组用法实例
- jquery与google map api结合使用 控件,监听器
- jquery遍历数组与筛选数组的方法
- JavaScript中实现map功能代码分享
- 用json方式实现在 js 中建立一个map
- Android Map新用法:MapFragment应用介绍
- js Map List 遍历使用示例
- java实现遍历Map的方法
- velocity显示List与Map的方法详细解析
- Google Map Api和GOOGLE Search Api整合实现代码
- 关于STL中的map容器的一些总结
- Javascript实现的Map集合工具类完整实例
- JavaScript中利用Array和Object实现Map的方法