Kotlin – extraer la list de objects padre de los elementos en la Colección

¿Hay alguna manera en Kotlin para extraer la list de objects padre de los elementos en la Colección? Por ejemplo, si tenemos mutableMaps:

val AllPersons = mutableMapOf<Long,Person>() val ClassAttendants = mutableMapOf<Long,Person>() 

donde la persona es:

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

¿Hay alguna forma de seleccionar a todos los abuelos (distintos) de los asistentes de class?

Como no soy uno para dar soluciones completas, le daré un montón de elementos básicos que probablemente sean útiles.

  1. Podemos get el elemento principal para un elemento determinado con somePerson.father .

  2. Podemos aplicar una function sobre todos los elementos de valor en un map como este:

     myMap.values.map { value -> someFunction(value) } 
  3. Podemos filtrar valores null como este:

     myCollection.filterNotNull() 
  4. Un Set automáticamente "descartará" elementos duplicates. Una alternativa es algo como esto:

     myCollection.distinct() 

Recomiendo encarecidamente revisar los Kotlin Koans . En particular, la sección "Colecciones" toca la aplicación de técnicas cuasi-funcionales para manipular collections.

  • Teclear argumento no reconocido en Kotlin
  • Detectar el button Atrás Presionar en la vista de Android
  • Error de configuration de Kotlin
  • kapt2 y butterknife producen error de pelusa: recurso esperado de tipo id
  • Spring Boot: Boot Run no puede agregar addResources = true
  • Inflado de disposition incondicional desde el adaptador de vista. kotlin
  • El plugin de Android Studio 3.1 Canary 4 Genymotion Emulator falló
  • En kotlin, cuando sobrecarga el operador inc (), aparece un error
  • Operador interesante '===' en Kotlin
  • Kotlin no puede usar 'esto' en init
  • ¿Por qué Kotlin permite tener dos classs con el mismo nombre y package en diferentes carpetas (es decir: main y androidTest)?