我正在使用kotlin開發Android應用程式。我對kotlin非常陌生,我有以下情況。
我有一個List集合物件中的用戶串列,其欄位包括firstName, lastName, mobile 和 hasDeleted
var myList: 串列<用戶>
myList = <我這里有用戶的串列>。
我想為每個用戶只更新一個標志hasDeleted,值為true。
我知道我們可以使用foreach來更新這個值。但是,我想知道是否有其他方法可以遵循。
uj5u.com熱心網友回復:
不使用forEach的唯一原因是,如果你的Users物件是不可變的(你至少應該考慮),并且它是一個資料類,定義如下:
data class Users(val firstName。字串。
val lastName: 字串。
val mobile: 字串。
val hasDeleted: Boolean)
如果這是你所擁有的,那么map是你最好的選擇,因為你不能再用hasDeleted = true來改變Users物件,因為它們是不可變的。在這種情況下,你應該使用下面的方法,它將回傳一個包含更新的Users物件的串列。
myList.map { it.copy(hasDeleted = true) }
除了這種特定的情況,我認為沒有很好的理由避免使用forEach。
uj5u.com熱心網友回復:
你可以簡單地使用map來處理:
myList.map { it.hasDeleted = true }
它將更新串列中所有hasDeleted為true。
uj5u.com熱心網友回復:
是的,你可以用下面的方法做到這一點
var myList: 串列<用戶>
myList.map { it.hasDeleted = true}。
該地圖將把所有串列項的hasDeleted的值替換為true/false,無論你提供什么。
下面是一個經過測驗的樣本,預期的結果是
。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/328864.html
標籤:

