使用流将可迭代对象转换为列表

Kri*_*jan 2 java iterable java-stream

我有一个简单的循环,可以将元素从一个添加list到另一个list。如何使用 来实现相同的结果streams

List<User> users = new ArrayList<>();
for(User user: userRepository.findAll()) {
    users.add(user);
}
Run Code Online (Sandbox Code Playgroud)

这样做的原因是因为 userRepository.findAll() 回报 Iterable<User>

Kri*_*hna 5

spliterator()转换Iterable然后stream将其收集为List使用collect()

List<User> users = 
  StreamSupport.stream(userRepository.findAll().spliterator(), false)
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)