Hash join: Difference between revisions
Content added Content deleted
Catskill549 (talk | contribs) |
(→{{header|Kotlin}}: Updated example see https://github.com/dkandalov/rosettacode-kotlin for details) |
||
Line 1,433: | Line 1,433: | ||
=={{header|Kotlin}}== |
=={{header|Kotlin}}== |
||
<lang scala>// version 1.1. |
<lang scala>// version 1.1.2 |
||
data class A(val age: Int, val name: String) |
data class A(val age: Int, val name: String) |
||
Line 1,443: | Line 1,443: | ||
fun hashJoin(tableA: List<A>, tableB: List<B>): List<C> { |
fun hashJoin(tableA: List<A>, tableB: List<B>): List<C> { |
||
val mm = tableB.groupBy { it.character } |
val mm = tableB.groupBy { it.character } |
||
val tableC = mutableListOf<C>() |
val tableC = mutableListOf<C>() |
||
for (a in tableA) { |
for (a in tableA) { |
||
val value = mm[a.name] |
val value = mm[a.name] |
||
Line 1,454: | Line 1,454: | ||
fun main(args: Array<String>) { |
fun main(args: Array<String>) { |
||
val tableA = listOf( |
val tableA = listOf( |
||
A(27, "Jonah"), |
A(27, "Jonah"), |
||
A(18, "Alan"), |
A(18, "Alan"), |
||
A(28, "Glory"), |
A(28, "Glory"), |
||
A(18, "Popeye"), |
A(18, "Popeye"), |
||
A(28, "Alan") |
A(28, "Alan") |
||
) |
) |