以前我使用的是这段代码:
private val mItems = ArrayList<Int>()
(1..item_count).mapTo(mItems) { it }
/*
mItems will be: "1, 2, 3, 4, 5, ..., item_count"
*/
现在,我使用的是课程而不是Int
,但该课程的成员Int
名称为id
。
class ModelClass(var id: Int = 0, var status: String = "smth")
那么如何使用此方法以类似的方式填充ArrayList
?
//?
private val mItems = ArrayList<ModelClass>()
(1..item_count).mapTo(mItems) { mItems[position].id = it } // Something like this
//?
答案 0 :(得分:5)
将给定的变换函数应用于原始集合的每个元素,并将结果附加到给定目标。
因此,您只需要返回所需的元素:
(1..item_count).mapTo(mItems) { ModelClass(it) }
答案 1 :(得分:2)
如果您对任何MutableList
(通常为ArrayList
或类似)感到满意,那么:
val mItems1 = MutableList(item_count) { i -> i }
val mItems2 = MutableList(item_count) { ModelClass(it) }