right Outer Join By Key
fun <TValue2, TValueOut> rightOuterJoinByKey(other: SortedKeyValueIteratorProvider<TKey, TValue2>, mergeFn: (TKey, TValue?, TValue2) -> TValueOut): SortedKeyValueSequence<TKey, TValueOut>
Performs a right 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.rightOuterJoinByKey(seq2) { _, v1, v2 -> "${v1 ?: ""}$v2" }
assertEquals(
listOf(
2 to "bx",
2 to "by",
2 to "cx",
2 to "cy",
3 to "z"
),
result.toList()
)
Content copied to clipboard
Return
A new sorted sequence with merged values, keeping all keys from other sequence
Parameters
other
The sequence to join with
merge Fn
Function that defines how to merge values for matching keys
fun <TValue2> rightOuterJoinByKey(other: SortedKeyValueIteratorProvider<TKey, TValue2>): SortedKeyValueSequence<TKey, Pair<TValue?, TValue2>>
Performs a right 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.rightOuterJoinByKey(seq2)
assertEquals(
listOf(
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()
)
Content copied to clipboard
Return
A new sorted sequence with paired values, keeping all keys from other sequence
Parameters
other
The sequence to join with