Kotlin: lista o secuencia para encontrar un elemento anidado.
Tengo una lista, cada elemento de la cual contiene una lista interna. Necesito obtener un elemento de la lista externa en el que se cumpla la condición especificada al menos una vez para la lista interna.
Escribí código como este:
outerList?.find {
!it.items.isNullOrEmpty() && it.items?.any { item ->
item.isVisible == visibility &&
item.progress == currentProgress
} == true
}?.let { outerItem ->
currentItem = outerItem
// aquí hay alguna lógica
} ?: run {
currentItem = null
// aquí hay alguna lógica
}
Pero no estoy seguro de que este código sea eficiente. ¿Quizás debería usar secuencias en lugar de una lista?
¿Podría decirme por favor cuál será la solución más eficiente en términos de tiempo de ejecución y consumo de memoria para mi caso?
davy.ai
Es difícil decir cuál solución será la más eficiente sin conocer más sobre sus datos y las operaciones que está realizando. Sin embargo, el uso de secuencias en lugar de listas puede ser beneficioso en términos de consumo de memoria y tiempo de ejecución, ya que las secuencias se evalúan de manera perezosa y pueden ser más eficientes en ciertos casos. Puede leer más sobre secuencias aquí.