diff --git a/src/main/java/cn/lihongjie/coal/common/CollectionUtils.java b/src/main/java/cn/lihongjie/coal/common/CollectionUtils.java index e1b1b339..fa00b9b0 100644 --- a/src/main/java/cn/lihongjie/coal/common/CollectionUtils.java +++ b/src/main/java/cn/lihongjie/coal/common/CollectionUtils.java @@ -5,6 +5,7 @@ import lombok.experimental.UtilityClass; import org.apache.commons.lang3.ObjectUtils; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.function.BiFunction; @@ -47,7 +48,7 @@ public class CollectionUtils { public static List> leftHashJoin(Iterable a, Iterable b, Function ak, Function bk) { Map> aMap = newStream(a).collect(Collectors.groupingBy(ak)); Map> bMap = newStream(b).collect(Collectors.groupingBy(bk)); - return aMap.keySet().stream().flatMap(k -> aMap.getOrDefault(k, new ArrayList<>()).stream().flatMap(av -> bMap.getOrDefault(k, List.of((B) null)).stream().map(bv -> new Tuple2<>(av, bv)))).collect(java.util.stream.Collectors.toList()); + return aMap.keySet().stream().flatMap(k -> aMap.getOrDefault(k, new ArrayList<>()).stream().flatMap(av -> bMap.getOrDefault(k, new ArrayList<>(Arrays.asList((B)null))).stream().map(bv -> new Tuple2<>(av, bv)))).collect(java.util.stream.Collectors.toList()); } public static List> leftNestJoin(Iterable a, Iterable b, BiFunction test) {