#Kata Cons operator (::) en Scala.

En este post te voy a explicar que es y como funciona el operador Cons (::) en Scala.

¿Qué es el operador Cons (::)?.

Cons es un operador específico de las listas (List[T]) que permite hacer prepend de un elemento a la colección. Esto significa que el elemento que agregas con el operador «::» a una lista pasara a ser la cabeza de la colección.

Prepend vs Append.

Cuando haces Append o agregas un elemento a una colección. Estás ejecutando una operación 0(N). La colección necesita iterar por todos los elementos, hasta llegar al elemento final, y justo ahí, agregar una nueva referencia del nuevo elemento.

En el caso de Prepend o «anteponer» un elemento en la colección, el coste computacional cambia. La colección solo necesita acceder al primer elemento (head) y crear una referencia nueva en ese lugar, sin necesidad de iterar la colección. El anterior elemento en la cabeza pasa a formar parte de la cola y el nuevo elemento es ahora la cabeza.

Contras de emplear: «::».

El operador Cons únicamente funciona con Listas, ningún otro tipo de colección como arreglos, pilas, colas, vectores, etc. lo soporta.  Y adicional, no puedes hacer Append con este operador.

Ejemplo:

Gustavo Sánchez
Últimas entradas de Gustavo Sánchez (ver todo)

Soy especialista en escribir software de calidad. Mediante el uso de marcos de trabajo, técnicas y automatización de procesos he podido reducir los costes operativos de los sistemas de la empresa. Sistemas confiables y adaptables producen clientes felices.