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

Pilas y colas (estructuras de datos básicas)

En esta lección usarás dos formas clásicas de guardar cosas en espera.

Ambas se construyen aquí con ArrayDeque, y se llenan igual, con addLast. La diferencia está en por dónde se saca: una pila devuelve el último que entró, con removeLast(); una cola devuelve el primero, con removeFirst().

El código de ejemplo mete dos elementos en cada una y saca uno, para que se vea la diferencia.

Ambos métodos lanzan una excepción si la colección está vacía. Existen removeLastOrNull() y removeFirstOrNull() para trabajar con seguridad.

El uso de ArrayDeque no es casual. Con una lista normal, removeFirst() tiene que desplazar todos los elementos restantes, así que una cola implementada así se vuelve lenta a medida que crece. ArrayDeque quita por ambos extremos sin desplazar nada, y por eso es la estructura correcta para las dos.

Evita la clase Stack de Java: es antigua, está sincronizada sin necesidad y su orden de iteración sorprende. ArrayDeque es la recomendación actual para ambas estructuras.

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