Kotlin – 提取Collection中项目的父对象列表

在Kotlin中有没有一种方法可以提取Collection中项目的父对象列表。 例如,如果我们有mutableMaps:

val AllPersons = mutableMapOf() val ClassAttendants = mutableMapOf() 

其中Person是:

 data class Person( PID : Long Name: String Surname: String Father: Person?) 

有没有办法从class级服务员中挑选所有(不同的)祖父?

因为我不是一个提供完整解决方案的人,所以我会给你一些可能有帮助的构建块。

  1. 我们可以通过somePerson.father获取给定元素的父somePerson.father

  2. 我们可以像这样在地图中的所有值元素上应用一个函数:

     myMap.values.map { value -> someFunction(value) } 
  3. 我们可以像这样过滤出null值:

     myCollection.filterNotNull() 
  4. Set将自动“丢弃”重复的元素。 另一种方法是这样的:

     myCollection.distinct() 

我强烈建议通过Kotlin Koans 。 特别是,“collections”部分涉及应用准function技术来操纵collections。