Minor optimization in MutableList.transformFlat

This commit is contained in:
Alexander Udalov
2019-04-15 13:43:35 +03:00
parent 945e058586
commit edaff968ad
@@ -38,14 +38,16 @@ inline fun <T> MutableList<T>.transformFlat(transformation: (T) -> List<T>?) {
val transformed = transformation(item)
if (transformed == null) {
i++
continue
when (transformed?.size) {
null -> i++
0 -> removeAt(i)
1 -> set(i++, transformed.first())
else -> {
addAll(i, transformed)
i += transformed.size
removeAt(i)
}
}
addAll(i, transformed)
i += transformed.size
removeAt(i)
}
}