Если я правильно понимаю вашу проблему, вам нужно объединить 3 списка. Так что перебор списков может быть проще для понимания, чем какой-нибудь хитрый способ преобразования списков.
Вы можете избавиться от традиционного для l oop, поэтому вам не нужно вычислять размер l oop:
result.forEachIndexed {
i, resultData -> resultData.config = addConfig(taskNames[i], processKeys[i])
}
Если вы хотите объединить два списка, вы можете использовать метод zip
:
val configList = taskNames.zip(processKeys) {tsk, prc -> addConfig(tsk, prc)}
В вашем примере объект результата уже существовал . Может, проще создать новые объекты результатов:
val results = configList.map {
Result(config = it)
}