【发布时间】:2021-12-28 05:22:28
【问题描述】:
我很难理解地图,我被要求使用比较器和供应商从另一个地图中制作一个具有不同键和值的 SortedMap。 它对我们说“teams”键是团队的名称,值是团队的信息,新排序的地图以团队拥有的点为键,以团队名称的集合为值有了这些点,收集由供应商提供。 我不明白我将如何做到这一点。 我想通过迭代这个来验证“团队”中是否有一个带有供应商名称的键,如果有,我会将该名称保存在列表中。但在那之后我不知道我将如何构建 SortedMap。 有什么建议吗?
编辑: 这就是我所做的。
public static <C extends Collection<String>> SortedMap<Integer, C> toTable(Map<String, Team> teams, Comparator<Integer> cmp, Supplier<C> supplier) {
SortedMap<Integer, C> sm = new TreeMap<Integer, C>(cmp);
List<C> aux= new ArrayList<C>();
C newTeam = null;
int totalNames = supplier.get().size();
while(totalNames>0) {
if(teams.containsKey(supplier.get().iterator().next()))
aux.add(supplier.get());
totalNames--;
}
int size = aux.size();
while (size>0){
sm.put(1/*how to get a new key*/,aux.iterator().next());
size--;
}
return sm;
}
【问题讨论】:
-
您的问题解释不够好,因此问题不清楚。首先,当您提出问题时,不要以与朋友交谈的风格来写它,而是使用正式的风格并描述您在实施解决方案时遇到的关键点和问题。其次,您必须实施解决方案,如果没有成功,您将陷入困境并寻找解决方案,最终来到这里并提出问题。
-
能否分享一下代码示例?
-
邮政编码作为文本而不是图像。
标签: java maps sortedmap supplier