【问题标题】:How to get a List of Objects from a List [duplicate]如何从列表中获取对象列表[重复]
【发布时间】:2020-11-23 03:35:44
【问题描述】:

我有一个有两个成员的班级,

class Class2(var obj2: SomeObject, var time: Long) {}

我在主类中有一个这样定义的对象:

var obj: ArrayList<Class2> = arrayListOf()

现在我意识到我需要使用仅由从对象 obj 获得的 obj2 形成的 ArrayList,这意味着:

 var subobj = ArrayList<SomeObject> //extracted from obj

我知道我可以做到这一点

until(i in 0..obj.size) {//etc}

但是,还有更实用的方法吗? (在 Kotlin 中)

【问题讨论】:

标签: android kotlin arraylist sublist


【解决方案1】:

如果我理解正确,您尝试获取的列表不包含 Class2 对象,而是包含 obj2 的值。您可以尝试使用 Kotlin 的 map 函数

var subobj = obj.map { it.obj2 }

这允许您传递将在列表中的每个项目上运行的转换。这里,it 只是指您在obj 列表中查看的当前项目。这只是为obj 中的每个项目返回obj2 的值列表。

【讨论】:

  • 好的,根据你的建议,我试过这个: var subobj: ArrayList = obj.map { it.obj2 }.toMutableList() 作为上面的链接,但它会导致类型不匹配...没有像 toArrayList() 这样的选项 .. 嗯,我该怎么办?
  • @JoeCoolman,您可以将ArrayList 更改为MutableList 并使用toMutableListListArrayList的主要区别在于最后一个可以修改。
  • 谢谢大家...我必须删除这个帖子
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-10
  • 2021-10-25
  • 2019-07-03
  • 1970-01-01
  • 2017-09-29
  • 2020-01-07
  • 2011-06-26
相关资源
最近更新 更多