我有一个项目列表,其中一个项目副本由用户更改,如何通过ID和更新在我的集合中找到它,或者如果找不到它我想添加项目?我最好的猜测是,但它需要丑陋的 indexOf(v)
fun updateOrInsert(note : UserNote) {
val list = notes.value!!
val v = list.firstOrNull{(Id) -> Id ==note.Id}
if (v==null) {
list.add(note)
} else {
val i = list.indexOf(v)
list[i] = note
}
notes.value = list
}