我正在寻找的是一种使用映射来将一种类型的集合转换为另一种类型的集合的方法,而没有具有将对象A转换为对象B的预定义函数/功能接口(interface)。Java 6示例:

for (ObjectA objA : collectionA) {
    ObjectB objB = new ObjectB();
    objB.setId(objA.getId());
    collectionB.add(objB);
}

我正在寻找以下方面的东西:
List<ObjectB> collectionB = collectionA.stream().map(objA -> {
    ObjectB objB = new ObjectB();
    objB.setId(objA.getId());
    return objB;
});

哪一个当然不起作用,但是您会明白我要做什么。

最佳答案

完成映射后,必须收集映射的对象:

List<ObjectB> collectionB = collectionA.stream().map(objA -> {
    ObjectB objB = new ObjectB();
    objB.setId(objA.getId());
    return objB;
}).collect(Collectors.toList());

10-08 11:43