#Kata Vector en Scala.

En este post te voy a explicar como funciona la clase Vector en Scala y que usos les puedes dar.

Primeros pasos.

Vector es una clase que toma lo mejor de los dos mundos, tiene buen rendimiento en acceso secuencial, y también, en acceso aleatorio.  A diferencia de las List, que son una Linked List, en los vectores puedes acceder a los elementos mediante el índice sin penalización.

Esta estructura de datos es inmutable, esto significa que no puedes modificar un vector sin crear una nueva referencia.

 

Operaciones de actualizaciones o inserción.

Puedes aplicar dos operaciones para insertar elementos en un vector: append y prepend. Estas operaciones agregan elementos al principio o al final de una colección. Toda operación que modifica los elementos de un Vector produce una nueva referencia.

Puedes actualizar elementos con el método updated, como todas las operaciones de transformación al actualizar un elemento, se va a generar una nueva colección.

List vs Vector.

Ambas estructuras de datos tienen capacidades similares, donde Vector sobresale es en el acceso aleatorio. List es una LinkedList, para conocer el índice de un elemento. La colección tiene que iterar por todos los elementos hasta encontrar el indicado. Cuando se intenta acceder a un elemento vía índice con Vector, se hace de manera distinta, un Vector es una estructura de datos persistente.

Operadores de Vector.

Scala tiene muchos operadores, sirven de acceso directo para un montón de operaciones, en el caso del vector, te muestro los operadores de append y prepend:

Referencias:

Gustavo Sánchez

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.