Предполагая, что recordList
- это MutableList
и val
(то есть вы хотите изменить записи на месте), вы можете использовать forEachIndexed
, чтобы найти записи, которые вам нужны, и заменить их.
Это не вызвало ConcurrentModificationException
:
recordList.forEachIndexed { index, record ->
if(record.id == updatedHeader?.id) recordList[index] = updatedHeader
}
С другой стороны, если вы переопределите recordList
как неизменяемый список и переменную, вы можете переписать весь список, используя map
:
recordList = recordList.map { if(it.id == updatedHeader?.id) updatedHeader else it }
Конечно, вы можете позвонить .toMutableList()
по окончании этого, если хотите превратить ваш List
в MutableList
.