【发布时间】:2021-04-12 14:07:32
【问题描述】:
我有一个名为列表的对象列表。使用 list.stream(),我需要创建一个相同对象的新列表,其中新列表包含所有原始条目,并且新列表包含每个条目的副本,其中一个字段已修改。我知道如何使用 list.stream() 两次,但我想在 1 个流下进行。
这就是我使用 list.stream() 两次完成任务的方式
newList = list.stream().collect(Collectors.toList());
newList.addAll(list.stream().map(l -> {SomeObject a = new SomeObject(l);
a.setField1("New Value");
return a;
}).collect(Collectors.toList())
);
【问题讨论】: