如何组合共享相等元素的两个成对通量
How to combine two Fluxes of Pairs sharing a equal element
我想合并 (zip) 以下流:
s1 = [1,A],[2,B],[3,C]
s2 = [1, X], [3, XX]
并得到:
结果 = [1,对(A,X)],[2,对(B,空)],[3,对(C,XX)]
有没有干净高效的方法来做到这一点?
在此先感谢您的帮助。
我想我在 https://blog.jooq.org/2015/08/13/common-sql-clauses-and-their-equivalents-in-java-8-streams 中找到了答案。我想要的是内部连接。像这样:
s1
.flatMap(v1 -> s2
.filter(v2 -> v1.left().equals(v2.left()))
.map(v2 -> Pair.of(v1, Pair.of(v1.right(), v2.right())))
我想合并 (zip) 以下流:
s1 = [1,A],[2,B],[3,C]
s2 = [1, X], [3, XX]
并得到:
结果 = [1,对(A,X)],[2,对(B,空)],[3,对(C,XX)]
有没有干净高效的方法来做到这一点?
在此先感谢您的帮助。
我想我在 https://blog.jooq.org/2015/08/13/common-sql-clauses-and-their-equivalents-in-java-8-streams 中找到了答案。我想要的是内部连接。像这样:
s1
.flatMap(v1 -> s2
.filter(v2 -> v1.left().equals(v2.left()))
.map(v2 -> Pair.of(v1, Pair.of(v1.right(), v2.right())))