大佬教程收集整理的这篇文章主要介绍了Kotlin 根据 id,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目前将两个数据类合并为另一个数据类的最佳 kotlin 惯用方法是什么:
@H_618_4@Data class A:
ID: Int,name: @R_772_10495@ng
Data class B:
ID: Int,note: @R_772_10495@ng
Data class C:
data1: A,data2: B
val result = mutablelivedata<List<C>>()
val array1:List<A> = getA()
val array2:List<B> = getB()
array1 和 array2 有 ID,我需要一个新列表,其中包含基于 array1 的 C 类型对象,以及我根据 array2 中的 ID 找到的额外数据。在 Java 上,我会遍历 array1,搜索 array2 中的 ID 并在每次迭代中构造一个新对象,将其添加到“结果”中,你如何使用 Kotlin 实现这一点?
到目前为止我尝试过的,它似乎有效,但它不是 kotlin 风格的:
@H_618_4@ val array1 = getA()
val array2 = getB()
val resultTemp: ArrayList<C> = arraylistof()
for (obj in array1 ) {
var note@R_772_10495@ng = ""
for (obj2 in array2) {
if (obj2.ID == obj1.ID) {
note@R_772_10495@ng = obj2.note
}
}
val objC = C(obj.ID,obj,note@R_772_10495@ng)
resultTemp.add(objC)
}
result.value = resultTemp
您不清楚 B
的实例是否可以在 C
中为空。如果为真,则简单
val result = arrayA.map { a -> C(a,arrayB.find { a.id == it.id }) }
其他
@H_618_4@val result = arrayA.mapNotNull { a -> arrayB.find { a.id == it.id }?.let { C(a,it) } }
以上是大佬教程为你收集整理的Kotlin 根据 id全部内容,希望文章能够帮你解决Kotlin 根据 id所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。