如何组合共享相等元素的两个成对通量

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())))