Java 使用Lambdaj避免此for循环

Java 使用Lambdaj避免此for循环,java,lambdaj,Java,Lambdaj,如何使用lambdaj避免这种循环,我想将列表角色中的所有元素添加到另一个列表中 String tipo = "type_1"; for (Person person : personas) { lista.add(new SimpleResultForm(tipo, person)); } 我使用的是Java 7,所以Java 8 lambda表达式不起作用,我需要一个与Java 8相关的解决方案: String tipo = "type_1"; lista = personas.s

如何使用lambdaj避免这种循环,我想将列表角色中的所有元素添加到另一个列表中

String tipo = "type_1";
for (Person person : personas) {
    lista.add(new SimpleResultForm(tipo, person));
}
我使用的是Java 7,所以Java 8 lambda表达式不起作用,我需要一个与Java 8相关的解决方案:

String tipo = "type_1";
lista = personas.stream()
             .map(person -> new SimpleResultForm(tipo, person))
             .collect(Collectors.toList());
如果lista已经包含数据:

String tipo = "type_1";
lista.addAll(personas.stream()
             .map(person -> new SimpleResultForm(tipo, person))
             .collect(Collectors.toList()));

在Java8中,假设您已经创建了列表lista,那么这一行程序应该可以完成这项工作

String tipo = "type_1";
personas.stream().forEach(e -> lista.add(new SimpleResultForm(tipo, e)));

虽然该代码可以回答该问题,但提供关于为什么和/或如何回答该问题的额外上下文将显著提高其长期价值。请在您的回答中添加一些解释。