替换forEach并使用collect添加

Art*_*hur 1 java collections lambda for-loop

如何用collect代替?

List<Serializable> result = new ArrayList<>();
entries.forEach(entry-> result.add(session.save(entry)));
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 5

这非常直截了当:

List<Serializable> result = 
    entries.stream()
           .map(session::save)
           .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

map方法Serializable通过调用将输入条目映射到实例session::save,然后您需要做的就是collect它们List.