Как преобразовать карту в список объектов пользователя? - PullRequest
4 голосов
/ 10 марта 2019

У меня есть HashMap со следующей структурой:

Map<Object, List<OtherObject>>

И я хочу преобразовать его в:

List<FinalObject>

является FinalObject:

public class FinalObject {
    private Object object;
    private List<OtherObject> otherObject;
}

Ответы [ 2 ]

7 голосов
/ 10 марта 2019

Если у вас есть конструктор, например:

public FinalObject(Object obj, List<OtherObject> list) {
    this.object = obj;
    this.otherObject = list;
}

, тогда вы можете сделать:

List<FinalObject> newList = map.entrySet()
                               .stream().map(e -> new FinalObject(e.getKey(), e.getValue()))
                               .collect(Collectors.toList());   
2 голосов
/ 10 марта 2019

Соответствующий подход forEach будет:

List<FinalObject> finalList = new ArrayList<>();
map.forEach((k,v) -> finalList.add(new FinalObject(k, v)));
...