Я предполагаю, что у вас есть класс Workspace
, который выглядит примерно так:
class Workspace {
private List<Job> jobs;
public List<Job> getJobs() {
return jobs;
}
}
class Job {
private String currency;
private int amount;
public String getCurrency() {
return currency;
}
public int getAmount() {
return amount;
}
}
Теперь у вас есть List<Workspace>
, который вы хотите превратить в Map<String,Integer>
. Это легко:
workspaces.stream()
.flatMap(w -> w.getJobs().stream())
.collect(Collectors.groupingBy(Job::getCurrency, Collectors.summingInt(Job::getAmount)));
Если это не то, что вы хотите, вам следует отредактировать и уточнить ваш вопрос.