AD

¿Ya dominas lo básico? Un curso estructurado de Kotlin es la vía rápida para dar el salto.

Ver cursos de Kotlin en Udemy

Enlace de afiliado. No te cuesta nada extra.

🎯Lecciones de Kotlin
Lección 38 / 68

Acelerar cálculos con memoización

En esta lección guardarás resultados ya calculados para no repetir el trabajo.

Se lleva un mapa donde la clave es la entrada y el valor el resultado. Antes de calcular se consulta; si está, se devuelve directamente.

El código de ejemplo llama tres veces con dos valores distintos, y los mensajes dejan ver cuándo calcula y cuándo recuerda.

El patrón idiomático en Kotlin es cache.getOrPut(n) { calcular(n) }: consulta y, si no está, calcula y guarda, todo en una expresión. El ejemplo lo hace en pasos separados para que se vea qué ocurre.

Dos cosas que vigilar. La memoria: una caché que nunca se vacía crece sin límite, y en un servidor de larga vida eso acaba siendo un problema. Y la corrección: si el resultado depende de algo que puede cambiar, el valor guardado se queda obsoleto. Solo es seguro memoizar funciones que dan siempre el mismo resultado para la misma entrada.

Para memoizar una propiedad de un objeto, Kotlin ofrece by lazy, que calcula la primera vez que se lee y recuerda el resultado, además de forma segura entre hilos.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Kotlin directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)