我想使用Java 8编写纯函数,该函数将集合作为参数,对该集合中的每个对象应用一些更改,并在更新后返回新的集合。 我想遵循FP原则,因此不希望更新/修改传递作为参数的集合。
有没有使用Stream API的方法可以在不先创建原始集合的副本的情况下完成这项任务(然后使用forEach或“普通”for循环)?
下面是一个示例对象,假设我想将文本附加到其中一个对象属性:
public class SampleDTO {
private String text;
}
我想做与下面类似的事情,但不修改集合。 假设“list”是一个List<SampleDTO>
。
list.forEach(s -> {
s.setText(s.getText()+"xxx");
});
map
函数来创建一个新的列表,而不是改变原始列表。 - christopher