在Java中模拟完整的外部联接

eha*_*eha -1 java join outer-join

假设我在Java中有两个数组,我想在它们上预先形成一个完整的外连接(返回第三个数组).

我该怎么做呢?

Dan*_*lan 5

我相信来自apache commons的CollectionUtils将拥有您需要的一切以及更多.

看看这些方法及其描述:

联盟

public static java.util.Collection union(java.util.Collection a,java.util.Collection b)

返回包含给定集合的并集的Collection.返回的Collection中每个元素的基数将等于两个给定集合中该元素的基数的最大值.

参数:

a - 第一个集合,不能为null

b - 第二个集合,不能为null返回:两个集合的并集

另请参见:Collection.addAll(java.util.Collection)

这可能就是你所需要的.但要做左右,我想你用的是这个:

减去

public static java.util.Collection subtract(java.util.Collection a,java.util.Collection b)

返回包含-b的新Collection.返回集合中每个元素e的基数将是e的基数,减去b中e的基数,或者为零,以较大者为准.

参数:

a - 要从中减去的集合,不能为null

b - 要减去的集合,不能为null返回:带有结果的新集合

另请参见:Collection.removeAll(java.util.Collection)