集合嵌套练习(模拟公司员工信息存储)
2018-01-19 12:21
246 查看
#日常练习
4000
问题某单位有多个部门,每个部门有一些员工,使用集合来描述分析:部门有名称,名称与部门实体构成Map集合,
所以有公司的HashMap<String,HashMap<String,String>>
部门的HashMap<String,String>,所以构成一个嵌套的HashMap集合,
在取出部门员工的信息时,先通过KeySet获得部门的名称,
通过名称获得对应部门的集合,再针对取出的集合使用KeySet来获得对应的Key,
通过Key进而取得完整信息。
package Map;
import java.util.HashMap;
import java.util.Iterator;
/*
* 问题某单位有多个部门,每个部门有一些员工,使用集合来描述
* 分析:部门有名称,名称与部门实体构成Map集合,
* 所以有公司的HashMap<String,HashMap<String,String>>
* 部门的HashMap<String,String>,所以构成一个嵌套的HashMap集合,
* 在取出部门员工的信息时,先通过KeySet获得部门的名称,
* 通过名称获得对应部门的集合,再针对取出的集合使用KeySet来获得对应的Key
* 通过Key进而取得完整信息。
*
* */
public class HashMapTest3 {
public static void main(String[] args) {
//通过集合嵌套的方式存储映射关系
HashMap<String,HashMap<String,String>> company = new
HashMap<String,HashMap<String,String>>();
HashMap<String,String> department1 = new
HashMap<String,String>();
HashMap<String,String> department2 = new
HashMap<String,String>();
company.put("department1", department1);
company.put("department2", department2);
department1.put("zhangsan", "beijing");
department1.put("lisi", "shanghai");
department1.put("wangwu", "beijing");
department2.put("ergouzi", "jiangsu");
department2.put("gousheng", "shanghai");
//获得company的KeySet集合,并取得集合的迭代器
Iterator<String> it = company.keySet().iterator();
//循环逐个取出company的HashMap中的部门名称和对应的员工信息HashMap集合
while(it.hasNext()) {
String departmets = it.next();
System.out.println(departmets+" messages:");
HashMap<String,String> messages = company.get(departmets);
//取得员工信息的集合后拿到迭代器
Iterator<String> iter = messages.keySet().iterator();
//循环逐个取出部门员工的信息
while(iter.hasNext()) {
String name = iter.next();
String address = messages.get(name);
System.out.println(name+"-->"+address);
}
}
}
}
相关文章推荐
- SpringMVC+Spring+MyBatis 的综合练习 9 (增加查询员工信息时带有部门信息)
- 4 Springboot中使用redis存储集合数据,并模拟条件查询、分页读取
- Java基础练习2之用集合写员工管理系统
- 编程练习--模拟安装程序时的信息滚屏效果
- 用GridView列出Profile存储的用户信息如公司名称等!
- Java基础知识强化之IO流笔记45:IO流练习之 把集合中的数据存储到文本文件案例
- 链表存储员工信息
- 【JavaSE练习】项目_模拟用户登陆注册功能(集合完成)
- sp存储和读取,保存登录信息练习
- android应用存储用户信息,map集合与用户对象存储
- java练习--输出员工信息并计算员工的工资
- 李洪强iOS开发之OC[003] - 用钥匙串存储信息模拟登陆
- IO综合练习:录入学生成绩并将信息存储在硬盘文件中
- Java基础知识强化之集合框架笔记46:Set集合之TreeSet存储自定义对象并遍历练习2(自然排序)
- Java第三周-利用集合实现员工信息管理
- 有一个“小组员工”信息数据,存储在employee.txt文本中 逗号分隔的各个信息是:员工编号,员工姓名,员工工资
- java小练习(5)--查询员工信息(类的练习)
- 集合框架_集合嵌套存储和遍历元素的案例图解、集合嵌套存储和遍历元素的案例代码实现
- Java常见集合例题(1、集合的嵌套遍历。2、获取随机数。3三种方式实现对集合中存储对象的遍历)