leftOuterJoinByKey

Performs a left 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.leftOuterJoinByKey(seq2) { _, v1, v2 -> "$v1${v2 ?: ""}" }
assertEquals(
listOf(
1 to "a",
2 to "bx",
2 to "by",
2 to "cx",
2 to "cy"
),
result.toList()
)

Return

A new sorted sequence with merged values, keeping all keys from this sequence

Parameters

other

The sequence to join with

mergeFn

Function that defines how to merge values for matching keys


Performs a left 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.leftOuterJoinByKey(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"),
),
result.toList()
)

Return

A new sorted sequence with paired values, keeping all keys from this sequence

Parameters

other

The sequence to join with