替换forEach并使用collect添加

时间:2016-07-07 12:19:30

标签: java for-loop collections lambda

如何用collect替换它?

List<Serializable> result = new ArrayList<>();
entries.forEach(entry-> result.add(session.save(entry)));

1 个答案:

答案 0 :(得分:5)

非常直接:

List<Serializable> result = 
    entries.stream()
           .map(session::save)
           .collect(Collectors.toList());

map方法通过调用Serializable将输入条目映射到session::save个实例,然后您需要做的只是collectList