----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
/*数据结构,传智播客容器,存基础班容器,就业班容器
基础班存储学生 001 张三 002 李四
就业班存储学生 001 王武 002 赵柳
HashMap<String,HashMap<String,String >> 传智播客 = new HashMap<>();
HashMap<String,String> 基础班 = new HashMap<String,String>();
HashMap<String,Strng> 就业班 = new HashMap<String,String>()
传智播客.put("基础",基础班Map);
传智播客.put("就业",就业班Map);
基础班Map.put("001","张三")
就业班Map.put("001","王武")*/
import java.util.*;
public class HashMapTest {
public static void main(String[] args) {
//定义传智播客容器,键存储班的名字字符串,值存储的是班这个集合Map
HashMap<String,HashMap<String,String>> czbk = new
HashMap<String,HashMap<String,String>>();
//定义班级的集合,基础班,键存储学号,值存储姓名
HashMap<String,String> jichu = new HashMap<String, String>();
//定义班级的集合,就业班,键存储学号,值存储姓名
HashMap<String,String> jiuye = new HashMap<String, String>();
//将学号,姓名,存储到班级的集合
jichu.put("001", "zhangsan");
jichu.put("002", "lisi");
jiuye.put("001", "wangwu");
jiuye.put("002", "zhaoliu");
//班级的集合,存储传智播客大的集合中
czbk.put("基础班", jichu);
czbk.put("就业班", jiuye);
// System.out.println(czbk);
//keySet(czbk);
entrySet(czbk);
}
//定义方法,实现获取entrySet方法
public static void entrySet(HashMap<String,HashMap<String,String>> czbk){
//获取大集合传智播客,键值对关系对象,存储到Set集合
Set<Map.Entry<String, HashMap<String,String>>> set = czbk.entrySet();
Iterator<Map.Entry<String, HashMap<String,String>>> it = set.iterator();
while(it.hasNext()){
//it.next()获取到的是大集合传智播客的键值对关系对象
Map.Entry<String, HashMap<String,String>> me = it.next();
//通过关系对象 getKey班级名字 getValue是一个map集合
String key = me.getKey();
HashMap<String,String> map = me.getValue();
//将小集合map的键值对关系对象获取,存储Set集合
Set<Map.Entry<String, String>> set2 = map.entrySet();
Iterator<Map.Entry<String, String>> it2 = set2.iterator();
while(it2.hasNext()){
//it2.next获取到的是小集合的键值对关系
Map.Entry<String, String> me2 = it2.next();
//获取小集合键值对,键学号,值是姓名
String num = me2.getKey();
String name = me2.getValue();
System.out.println(key+"..."+num+"..."+name);
}
}
}
//定义方法,实现获取 keySet方法
public static void keySet(HashMap<String,HashMap<String,String>> czbk){
//对外层传智播客集合,获取.大集合的键存储到了Set集合
Set<String> set = czbk.keySet();
Iterator<String> it = set.iterator();
while(it.hasNext()){
//it.next方法,获取到的是大集合的键,存储的是就业班,基础班的名字
String key = it.next();
//大集合的get方法,获取值,值是一个Map集合
HashMap<String,String> map = czbk.get(key);//学号和姓名
//获取小集合,存储姓名和学号的,将小集合的键,存储到Set集合
Set<String> set2 = map.keySet();
Iterator<String> it2 = set2.iterator();
while(it2.hasNext()){
//it2.next获取到的是map的键,存储的是学号
String num = it2.next();
//小集合map的get方法获取值,值存储的是名字
String name = map.get(num);
//输出,基础班...001....名字
System.out.println(key+"..."+num+"..."+name);
}
}
}
}
Map集合
映射,键映射到值的集合,Map体系的集合,存储对象的时候,一次存储两个对象,一个称作键,一个称作值,双列集合
一个键,最多只能映射一个值
不允许出现重复键
集合的嵌套 Map
数据结构,传智播客容器,存基础班容器,就业班容器
基础班存储学生 001 张三 002 李四
就业班存储学生 001 王武 002 赵柳
HashMap<String,HashMap<String,String >> 传智播客 = newHashMap<>();
HashMap<String,String> 基础班 = newHashMap<String,String>();
HashMap<String,Strng> 就业班 = newHashMap<String,String>()
传智播客.put("基础",基础班Map);
package cn.itcast.map;/*数据结构,传智播客容器,存基础班容器,就业班容器
基础班存储学生 001 张三 002 李四
就业班存储学生 001 王武 002 赵柳
HashMap<String,HashMap<String,String >> 传智播客 = new HashMap<>();
HashMap<String,String> 基础班 = new HashMap<String,String>();
HashMap<String,Strng> 就业班 = new HashMap<String,String>()
传智播客.put("基础",基础班Map);
传智播客.put("就业",就业班Map);
基础班Map.put("001","张三")
就业班Map.put("001","王武")*/
import java.util.*;
public class HashMapTest {
public static void main(String[] args) {
//定义传智播客容器,键存储班的名字字符串,值存储的是班这个集合Map
HashMap<String,HashMap<String,String>> czbk = new
HashMap<String,HashMap<String,String>>();
//定义班级的集合,基础班,键存储学号,值存储姓名
HashMap<String,String> jichu = new HashMap<String, String>();
//定义班级的集合,就业班,键存储学号,值存储姓名
HashMap<String,String> jiuye = new HashMap<String, String>();
//将学号,姓名,存储到班级的集合
jichu.put("001", "zhangsan");
jichu.put("002", "lisi");
jiuye.put("001", "wangwu");
jiuye.put("002", "zhaoliu");
//班级的集合,存储传智播客大的集合中
czbk.put("基础班", jichu);
czbk.put("就业班", jiuye);
// System.out.println(czbk);
//keySet(czbk);
entrySet(czbk);
}
//定义方法,实现获取entrySet方法
public static void entrySet(HashMap<String,HashMap<String,String>> czbk){
//获取大集合传智播客,键值对关系对象,存储到Set集合
Set<Map.Entry<String, HashMap<String,String>>> set = czbk.entrySet();
Iterator<Map.Entry<String, HashMap<String,String>>> it = set.iterator();
while(it.hasNext()){
//it.next()获取到的是大集合传智播客的键值对关系对象
Map.Entry<String, HashMap<String,String>> me = it.next();
//通过关系对象 getKey班级名字 getValue是一个map集合
String key = me.getKey();
HashMap<String,String> map = me.getValue();
//将小集合map的键值对关系对象获取,存储Set集合
Set<Map.Entry<String, String>> set2 = map.entrySet();
Iterator<Map.Entry<String, String>> it2 = set2.iterator();
while(it2.hasNext()){
//it2.next获取到的是小集合的键值对关系
Map.Entry<String, String> me2 = it2.next();
//获取小集合键值对,键学号,值是姓名
String num = me2.getKey();
String name = me2.getValue();
System.out.println(key+"..."+num+"..."+name);
}
}
}
//定义方法,实现获取 keySet方法
public static void keySet(HashMap<String,HashMap<String,String>> czbk){
//对外层传智播客集合,获取.大集合的键存储到了Set集合
Set<String> set = czbk.keySet();
Iterator<String> it = set.iterator();
while(it.hasNext()){
//it.next方法,获取到的是大集合的键,存储的是就业班,基础班的名字
String key = it.next();
//大集合的get方法,获取值,值是一个Map集合
HashMap<String,String> map = czbk.get(key);//学号和姓名
//获取小集合,存储姓名和学号的,将小集合的键,存储到Set集合
Set<String> set2 = map.keySet();
Iterator<String> it2 = set2.iterator();
while(it2.hasNext()){
//it2.next获取到的是map的键,存储的是学号
String num = it2.next();
//小集合map的get方法获取值,值存储的是名字
String name = map.get(num);
//输出,基础班...001....名字
System.out.println(key+"..."+num+"..."+name);
}
}
}
}
这是我在传智培训的时候写的一个小程序。
----------------------- android培训、java培训、java学习型技术博客、期待与您交流!
----------------------详情请查看:http://edu.csdn.net/heima