如何将映射转换为用户对象列表?

bpe*_*ira 4 java java-8 java-stream

我有一个具有以下结构的HashMap:

Map<Object, List<OtherObject>>
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

List<FinalObject>
Run Code Online (Sandbox Code Playgroud)

作为FinalObject:

public class FinalObject {
    private Object object;
    private List<OtherObject> otherObject;
}
Run Code Online (Sandbox Code Playgroud)

GBl*_*ett 7

假设您有一个类似的构造函数:

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

那么您可以执行以下操作:

List<FinalObject> newList = map.entrySet()
                               .stream().map(e -> new FinalObject(e.getKey(), e.getValue()))
                               .collect(Collectors.toList());   
Run Code Online (Sandbox Code Playgroud)