Ash*_*hra 1 java java-stream collectors
我想从 Bean 列表生成一个字符串列表,包括 id 和外部 id。
public class User {
private String id;
private List<String> externalIds;
}
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码得到了它,但这里我需要进行两次流。
List<User> references = new ArrayList();
Stream.concat(references.stream().map(User::getId),
references.stream().map(User::getExternalIds).flatMap(Collection::stream))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来重写这段代码?
Stream.concat在操作内部使用flatMap:
references.stream()
.flatMap(user -> Stream.concat(
Stream.of(user.getId()),
user.getExternalIds().stream()
))
.collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3467 次 |
| 最近记录: |