fullOuterJoinByKey

Performs a full outer join with another sorted sequence.

Example:

val seq1 = sequenceOf(1 to "a", 2 to "b", 2 to "c").assertSorted()
val seq2 = sequenceOf(2 to "x", 2 to "y", 3 to "z").assertSorted()
val result = seq1.fullOuterJoinByKey(seq2) { _, v1, v2 -> "${v1 ?: ""}${v2 ?: ""}" }
assertEquals(
listOf(
1 to "a",
2 to "bx",
2 to "by",
2 to "cx",
2 to "cy",
3 to "z"
),
result.toList()
)

Return

A new sorted sequence with merged values for all keys from both sequences

Parameters

other

The sequence to join with

mergeFn

Function that defines how to merge values for matching keys


Performs a full outer join with another sorted sequence using default pairing of values.

Example:

val seq1 = sequenceOf(1 to "a", 2 to "b", 2 to "c").assertSorted()
val seq2 = sequenceOf(2 to "x", 2 to "y", 3 to "z").assertSorted()
val result = seq1.fullOuterJoinByKey(seq2)
assertEquals(
listOf(
1 to ("a" to null),
2 to ("b" to "x"),
2 to ("b" to "y"),
2 to ("c" to "x"),
2 to ("c" to "y"),
3 to (null to "z")
),
result.toList()
)

Return

A new sorted sequence with paired values for all keys from both sequences

Parameters

other

The sequence to join with