我有3个类:Agency,Team和Agent。Agent属于属于Agency的Team。
我需要做一份报告,计算我在每个Agency上有多少代理。我没有数据库,只有包含以下数据的ArrayLists:
List<Agent> agents
List<Team> teams
List<Agency> agencies在Agent类中,我有getTeam(),它有getAgency() (来自Team类)。
我想要做的是:
for (Agency ag : agencies) {
for (Agent a : agents) {
if (a.getTeam() != null) {
if (a.getTeam().getAgency() == ag) {
teste = "Agency from agent" + a.getTeam().getAgency().getCode() + "Agency from agency" + ag.getCode();
}
}
}
}但我不知道如何为每个Agency单独计算它。
所以我试着:
Map<String, Long> agentsAtAgency =
agents.stream()
.collect(Collectors.groupingBy(Agent::getTeam, Collectors.counting()));但我不能从Agent获得代理,因为我需要getTeam().getAgency(),而这个地图不允许我这样做。
总结:
我有代理: A,B,C。
我有代理:X与代理A相关,Y与代理A相关,Z与代理B相关。
我需要证明:代理A: 2个代理/代理B: 1个代理/代理C: 0
有没有人能帮帮我?
https://stackoverflow.com/questions/47556118
复制相似问题