gpt4 book ai didi

java - 如何为经理和员工实现 map 并向 map 添加元素

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:43 24 4
gpt4 key购买 nike

我是java新手,正在学习Map from java oracle Docs ,它说

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

Set<Employee> individualContributors = new HashSet<Employee>(managers.keySet());
individualContributors.removeAll(managers.values());

我正在尝试为上述查询编写代码,但我无法实现类ManagerEmployee及其关系并放入 map 并获取managers.values()?有人可以给我示例模板来为上述查询创建类吗?

最佳答案

在此示例中,经理和其他员工的类型无关。他们之间的管理关系是使用“管理者” map 来管理的。例如,您可以使用字符串和如下代码来设置 map :

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);

这设置了两名软件工程师,由一名软件工程师团队经理管理,而软件工程师团队经理又由某个中层经理管理,而中层经理又由某个高管管理,而高管则无人管理。 map 中的按键集是

["SoftwareEngineer1", "SoftwareEngineer2", "SoftwareEngineeringTeamManager", "MidLevelManager", "Executive"]

这些值是

["SoftwareEngineeringTeamManager", "MidLevelManager", "Executive", null]

在您发布的代码示例中,从键集中减去这些值,因此最终得到

["SoftwareEngineer1", "SoftwareEngineer2"]

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

关于java - 如何为经理和员工实现 map 并向 map 添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39963626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com