Я хочу иметь неизменяемый список, так как мне не нужна изменчивость, поэтому он может вызывать ошибки. Однако список lateinit var
объявлен на уровне класса.
Я хочу изначально заполнить список значениями из цикла, примерно так:
for (items in someOtherCollection) {
val itemToAdd = doSomeProcessingOnThisData()
list.add(itemToAdd)
}
Однако, поскольку список неизменен, я не могу позвонить add()
. Есть ли лучший способ инициировать такой список, не добавляя все значения во второй изменяемый список, а затем назначая его неизменному списку?
Мое текущее решение таково, но оно кажется неэффективным:
val tmpList = mutableListOf<Data>()
foos.forEach() {
val itemToAdd = doSomeProcessing()
foos.add(itemToAdd)
}
this.list = tmpList