es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , ,

Answer

  1. Avatar for 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í.

Comments are closed.