日期:2014-05-20  浏览次数:20649 次

Map 集合问题求教
书上看的一段话和代码:
假设你有一个 Map ---- managers,他将一个公司的每个雇员映射到此雇员的经理。
我们故意不指明键和值对象的类型。这没问题,只要他们是相同的
现在,假设你想知道“独立工作者”(或者不是经理的人)有哪些,下面的代码可以告诉你答案:

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

问题:individualContributors 是键的集合,而第二行中的 managers.values() 是值的集合,
也就是说一个是雇员的集合,一个是经理的集合,里面就没有相同的,
第二行删除操作有用吗,好像不能得出独立员工有哪些吧,
求大神执教

------解决方案--------------------
很好理解啊,managers中的所有key组成了这个公司里的所有雇员,managers中的所有value组成了公司中当经理的雇员,所有雇员中除去当经理的雇员,剩下的不就是不当经理的雇员么。。
------解决方案--------------------
探讨

“也就是说一个是雇员的集合,一个是经理的集合,里面就没有相同的”

一定有重的啊,重复了说明这个雇员是个经理哈。