car*_*era 3 java functional-programming java-8 java-stream
我有这段代码,我想使用更多的Java 8方法进行重构,但我知道有几个选项可以做到这一点:concat()Java 8 Stream API,flatMap()Java 8 Stream API,使用Guava,使用Apache Commons Collections,CompletableFuture ....我想知道是否有最好的做法来做到这一点
List<User> users = new ArrayList<User>();
for (Restaurant restaurant : restaurants) {
users.addAll(userService.getClients(restaurant.getId())
.parallelStream()
.filter(us -> !alreadyNotifiedUserIds.contains(us.getId())))
.collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)
像这样的东西?
List<User> users = restaurants.parallelStream()
.flatMap(r -> userService.getClients(r.getId()).stream())
.filter(us -> !alreadyNotifiedUserIds.contains(us.getId()))
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)