0

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

String tipo = "type_1";
for (Person person : personas) {
    lista.add(new SimpleResultForm(tipo, person));
}

我正在使用 Java 7,所以 Java 8 lambda 表达式不起作用,我需要一个围绕 Lambdaj 库的解决方案

4

2 回答 2

0

使用 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()));
于 2016-04-05T08:24:53.377 回答
-1

在 Java 8 中,假设您已经创建了列表“lista”,那么这个单行代码应该可以完成工作。

String tipo = "type_1";
personas.stream().forEach(e -> lista.add(new SimpleResultForm(tipo, e)));
于 2016-04-05T11:20:38.570 回答