Kotlin 如何过滤列表中的列表,然后返回它?
是否有一种解决方案可以过滤列表中的列表,然后返回一个列表 例如:Kotlin 如何过滤列表中的列表,然后返回它?,kotlin,Kotlin,是否有一种解决方案可以过滤列表中的列表,然后返回一个列表 例如: [group : {name:"group1", student :[student1:{age:10},student2:{age:11},student3:{age:12}]}, group : {name:"group2", student :[student1:{age:11},student2:{age:12},student3:{age:14}]}, ] 我想过滤年龄大于10岁小于13岁的学生 结果应该是
[group : {name:"group1",
student :[student1:{age:10},student2:{age:11},student3:{age:12}]},
group : {name:"group2",
student :[student1:{age:11},student2:{age:12},student3:{age:14}]},
]
我想过滤年龄大于10岁小于13岁的学生
结果应该是这样的:
[group : {name:"group1",
student :[student2:{age:11},student3:{age:12}]},
group : {name:"group2",
student :[student1:{age:11},student2:{age:12}]}
]
您可以在筛选学生时将组列表映射到自身。如果您的组是数据类,则可以执行以下操作:
val filtered = original.map { group ->
val students = group.student.filter { it.age in 11..12 }
group.copy(student = students)
}
内部筛选器将删除不需要的学生,副本将复制原始组,但会将学生列表更改为已筛选的组。组和学生是什么类型?他们是你定义的班级吗?是的,小组里有学生。还有许多团体喜欢复制的方法。我总是倾向于忘记数据类的优点。