存储这样的一个数据关系结构 使用嵌套map存储
可以通过调用 entrySet方法 或者 keySet方法 进行迭代或者增强for循环 便利输出
这里演示 迭代器的方式进行遍历
package demo05; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class TwoMapDemo{ public static void main(String[] args) { HashMap<String,String> dev=new HashMap<>(); HashMap<String, String> ops=new HashMap<>(); dev.put("张三", "开发001"); dev.put("李四", "开发002"); ops.put("王五", "运维001"); ops.put("赵六", "运维002"); HashMap<String, HashMap<String,String>> albb=new HashMap<String, HashMap<String,String>>(); albb.put("开发部",dev); albb.put("运维部", ops); KeySet(albb); entrySet(albb); } public static void KeySet(HashMap<String, HashMap<String,String>> albb){ System.out.println("-------------------------使用keySet方法迭代-----------------------"); Set<String> branchNameSet=albb.keySet(); //返回一个部门名称的set集合 Iterator<String> branchNameIt=branchNameSet.iterator(); //生成一个部门名称的迭代器 while(branchNameIt.hasNext()){ String branchName=branchNameIt.next(); //获得部门名称 HashMap<String, String> branchNameMap=albb.get(branchName); //获得一个 部门成员对象 K是姓名 V是员工编号 Set<String> empNameSet=branchNameMap.keySet(); //得到一个 部门成员姓名的 Set集合 Iterator<String> empNameIt=empNameSet.iterator(); //生成一个 部门成员姓名的迭代器 while(empNameIt.hasNext()){ String empName=empNameIt.next(); //得到一个部门的成员姓名 String empId=branchNameMap.get(empName); //通过姓名获取 员工编号 System.out.println(branchName+"...."+empName+"...."+empId); } } System.out.println("-------------------------使用entrySet方法迭代-----------------------"); } public static void entrySet(HashMap<String, HashMap<String,String>> albb){ Set<Map.Entry<String, HashMap<String, String>>> set=albb.entrySet(); //得到一个部门对象的Set集合 Iterator<Map.Entry<String, HashMap<String, String>>> MapIt=set.iterator(); //生成一个部门对象的迭代器 while(MapIt.hasNext()){ Map.Entry<String, HashMap<String, String>> CompanyMap=MapIt.next(); //得到阿里巴巴公司HashMap对象 String branchName=CompanyMap.getKey();//获得阿里巴巴的部门名称 K HashMap<String, String> branchMap=CompanyMap.getValue(); // 获得阿里巴巴的部门对象 K员工名称 V员工编号 Set<Map.Entry<String, String>> empSet=branchMap.entrySet(); //通过调用entrySet方法 获取 K V对的存储集合 Iterator<Map.Entry<String, String>> empIt=empSet.iterator(); //生成一个存储部门员工对象的map 迭代器 while(empIt.hasNext()){ Map.Entry<String, String> emp=empIt.next(); //得到员工HashMap对象 String empName=emp.getKey(); String empId=emp.getValue(); System.out.println(branchName+"...."+empName+"...."+empId); } } } }