JAVA
java stream() inner join, left join
오수진님.
2022. 4. 19. 14:45
728x90
Inner Join
Map<Long, User> userIdMap = userList.stream()
.collect(Collectors.toMap(User::getUserId, Function.identity()));
List<Pair<Order, User,>> innerJoinList = orderList.stream()
.filter(it -> userIdMap.containsKey(it.getUserId()))
.map(it -> Pair.of(it, userIdMap.get(it.getUserId())))
.collect(Collectors.toList());
Left Join
Map<Long, Order> orderIdMap = orderList.stream()
.collect(Collectors.toMap(Order::getUserId, Function.identity()));
List<User> leftJoinUser = userList.stream()
.filter(it -> !orderIdMap.containsKey(it.getUserId()))
.collect(Collectors.toList());