大佬教程收集整理的这篇文章主要介绍了android – 从两个列表中获取不常见的元素 – KOTLIN,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
{ "_id": "5a66d78690429a1d897a91ed","division": "G","standard": "X","section": "Secondary","lastName": "Sawant","middlename": "Sandeep","firstName": "Shraddha","pin": 12345,"isEditable": true,"isTracked": false }
一个列表有3个对象,另外2个.比方说,列表A有1,2,3个学生,列表B有1,2个
所以我的问题是有任何内置函数通过比较id来获取不常见的元素吗?如果不是我怎么能解决这个问题.
方法1.
internal fun getDisTinctstudents(studentsList: List<students>,prefstudents: List<students>): List<students> { val consolidated = prefstudents.filter { prefstudents.any { students: students -> it._id == students._id } } return prefstudents.minus(consolidated) }
方法2.
internal fun getDisTinctstudents(studentsList: List<students>,prefstudents: List<students>): List<students> { val consolidatedstudents = studentsList + prefstudents val disTinctstudents = consolidatedstudents.disTinctBy{ it._id } return prefstudents.minus(disTinctstudents) }
任何形式的帮助将不胜感激.
谢谢
使用HashMap和Kotlin内置插件. groupBy使用Lambda(在本例中为id)中定义的键创建@L_485_1@map,以及一个项目列表(此场景的列表)
然后筛选出列表大小不是1的条目.
最后,将其转换为单个学生列表(因此flatMap调用)
val list1 = listOf(student("1","name1"),student("2","name2")) val list2 = listOf(student("1","name2"),student("3","name2")) val sum = list1 + list2 return sum.groupBy { it.id } .filter { it.value.size == 1 } .flatMap { it.value }
以上是大佬教程为你收集整理的android – 从两个列表中获取不常见的元素 – KOTLIN全部内容,希望文章能够帮你解决android – 从两个列表中获取不常见的元素 – KOTLIN所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。