Nir
12/07/2020, 3:52 PMNir
12/07/2020, 3:52 PMval parentMap: Map<String, List<String>> = mutableMapOf<String, MutableList<String>>().apply {
getData().forEach { rule ->
rule.contained.forEach {
getOrPut(it.name) { mutableListOf() }.add(rule.containing)
}
}
}
compared to
val parentMap2 = getData().asSequence()
.map { rule -> rule.contained.asSequence().map { it.name to rule.containing}}.flatten()
.groupBy(keySelector = {it.first}, valueTransform = {it.second})
val bagSet = mutableSetOf<String>()
Nir
12/07/2020, 3:53 PMdata class ContainedBag(val num: Int, val name: String)
data class Rule(val containing: String, val contained: List<ContainedBag>)
fun getData(): List<Rule> { ... }
Nir
12/07/2020, 3:53 PMNir
12/07/2020, 3:54 PMJoris PZ
12/07/2020, 6:42 PM