首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为经理和员工实现Map和添加元素到映射

如何为经理和员工实现Map和添加元素到映射
EN

Stack Overflow用户
提问于 2016-10-10 17:26:38
回答 1查看 142关注 0票数 1

我刚开始学习java,学习从java oracle文档映射,上面写着

当您在同一个大容量操作中开始混合键和值时,会发生什么?假设您有一个Map,经理,它将公司中的每个员工映射到员工的经理。对于键和值对象的类型,我们将故意模糊。没关系,只要他们是一样的。现在,假设您想知道所有的“个人贡献者”(或非经理)是谁。下面的片段将准确地告诉您想要知道的内容。

代码语言:javascript
运行
复制
Set<Employee> individualContributors = new HashSet<Employee>(managers.keySet());
individualContributors.removeAll(managers.values());

我试图为上述查询编写代码,但无法实现类ManagerEmployee及其关系,并将其放入地图并获取managers.values()?有人能给我一个例子模板来为上面的查询创建类吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-10 17:40:54

在本例中,经理和其他员工的类型是无关的。它们之间的管理关系是通过“经理”地图来管理的。例如,您可以使用字符串设置映射,代码如下:

代码语言:javascript
运行
复制
Map<String> managers = new HashMap<>();
managers.put("SoftwareEngineer1", "SoftwareEngineeringTeamManager");
managers.put("SoftwareEngineer2", "SoftwareEngineeringTeamManager");
managers.put("SoftwareEngineeringTeamManager", "MidLevelManager");
managers.put("MidLevelManager", "Executive");
managers.put("Executive", null);

这就建立了两名软件工程师,由一名软件工程师团队经理管理,后者由一名中层经理管理,而后者则由一名高管管理,而后者没有人管理。地图中的键集是

代码语言:javascript
运行
复制
["SoftwareEngineer1", "SoftwareEngineer2", "SoftwareEngineeringTeamManager", "MidLevelManager", "Executive"]

这些值是

代码语言:javascript
运行
复制
["SoftwareEngineeringTeamManager", "MidLevelManager", "Executive", null]

在您发布的代码示例中,这些值将从键集中减去,因此您的结果是

代码语言:javascript
运行
复制
["SoftwareEngineer1", "SoftwareEngineer2"]

这些是您正在寻找的个人贡献者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39963626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档