如何从列表中获取对象列表

时间:2020-08-03 03:03:58

标签: android kotlin arraylist sublist

我有一班有两个成员,

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}

但是,还有其他更实用的方法吗? (在科特林)

1 个答案:

答案 0 :(得分:2)

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

var subobj = obj.map { it.obj2 }

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

相关问题