使用Android Studio中的Kotlin,如何以Kotlin方式(不使用for循环)将列表添加到另一个列表中,而无需按ID重复项?

时间:2018-10-12 01:33:02

标签: android list kotlin

class MyObj {
    lateinit var id: String
    lateinit var name: String
}

var listA : List<MyObj> = [id=1 name=a] [id=2 name=b]  [id=3 name=c]
var llistB : List<MyObj> = [id=2 name=b] [id=3 name=c]  [id=4 name=d] 

我要获取结果列表C 如下

listC = listA union listB = [id=1 name=a][id=2 name=b][id=3 name=c][id=4 name=d]  

1 个答案:

答案 0 :(得分:1)

data class MyObj (var id: String, var name: String)

val listA = listOf(MyObj(id="1",name="a"), MyObj(id="2",name="b"), MyObj(id="3",name="c"))
val listB = listOf(MyObj(id="2",name="b"), MyObj(id="3",name="c"), MyObj(id="4",name="d"))
val set = mutableSetOf<MyObj>()
set.addAll(listA)
set.addAll(listB)
val listC = set.toList()

这可以满足您的要求,但是您首先需要编写有效的Kotlin。请看一下tutorial

此外,如果您不想使用重复的ID,则应使用地图而不是列表。