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 68 / 68

[Aplicado] Un pequeño gestor de inventario

En esta lección juntarás lo aprendido en un programa que gestiona existencias.

Las cantidades se guardan en un mutableMapOf. Se escriben con la sintaxis de corchetes, y para retirar unidades se lee el valor actual con getValue y se vuelve a asignar.

El código de ejemplo da de alta unos artículos, retira unidades y muestra el resultado.

Fíjate en getValue: lanza una excepción si la clave no existe. Aquí funciona porque el artículo se dio de alta antes, pero en código real un artículo desconocido tumbaría el programa. Para un mapa que se va llenando sobre la marcha, lo idiomático es items[nombre] = items.getOrDefault(nombre, 0) + cantidad, que trata la primera aparición sin comprobar nada. El acceso con corchetes, items[nombre], es la tercera opción: devuelve null en lugar de fallar.

Falta una validación importante: nada impide que una retirada deje la cantidad en negativo, que es un estado sin sentido y que se propagaría a todos los informes. La regla general es que quien modifica el dato es quien debe protegerlo, no quien lo lee después.

En Kotlin, el siguiente paso natural sería envolver el mapa en una clase con métodos y exponerlo hacia fuera como Map de solo lectura. Así nadie puede modificarlo saltándose las comprobaciones, y el tipo mismo documenta esa intención.

Un inventario real añadiría persistencia, un histórico de movimientos y control de acceso simultáneo. La estructura, sin embargo, sigue siendo esta.

📖 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)