Vectores en Java mostrar, buscar, eliminar departamentos

Logo Java

En este artículo estudiaremos la clase Vector en Java, que nos permite guardar datos usando una sola variable. Este tipo de estructuras son muy utilizadas al momento de crear Software complejos y manipulación de grandes volúmenes de datos, sin duda conocer sus funciones permitirá ayudarnos a crear proyectos robustos, vamos a ello.

Vectores en Java mostrar, buscar, eliminar departamentos

Si buscamos un poco en la documentación de esta clase encontramos:

La clase Vector implementa una matriz cultivable de objetos. Al igual que una matriz, contiene componentes a los que se puede acceder utilizando un índice entero. Sin embargo, el tamaño de un Vector puede crecer o reducirse según sea necesario para acomodar la adición y eliminación de elementos después de que se haya creado el Vector.

Cada vector intenta optimizar la gestión del almacenamiento manteniendo una capacidad y un aumento de capacidad. La capacidad siempre es al menos tan grande como el tamaño del vector; generalmente es más grande porque a medida que los componentes se agregan al vector, el almacenamiento del vector aumenta en trozos del tamaño de la capacidad Increment. Una aplicación puede aumentar la capacidad de un vector antes de insertar una gran cantidad de componentes; esto reduce la cantidad de reasignación incremental. Los iteradores devueltos por los métodos iterator y listIterator de esta clase son rápidos: si el vector se modifica estructuralmente en cualquier momento después de que se crea el iterador, de cualquier forma excepto a través de los propios métodos remove o add del iterador, el iterador arrojará una ConcurrentModificationException. Por lo tanto, frente a la modificación concurrente, el iterador falla rápida y limpiamente.

Las enumeraciones

Devueltas por el método de elementos no son a prueba de fallas. Tenga en cuenta que el comportamiento a prueba de fallos de un iterador no se puede garantizar, ya que, en términos generales, es imposible hacer ninguna garantía dura en presencia de una modificación concurrente no sincronizada. Los iteradores a prueba de errores lanzan ConcurrentModificationException sobre la base del mejor esfuerzo. Por lo tanto, sería incorrecto escribir un programa que dependiera de esta excepción para su corrección: el comportamiento a prueba de fallas de los iteradores debería usarse solo para detectar errores. A partir de la plataforma Java 2 v1.2, esta clase se adaptó para implementar la interfaz List, convirtiéndola en miembro de Java Collections Framework. A diferencia de las nuevas implementaciones de colecciones, Vector está sincronizado. Si no se necesita una implementación segura para subprocesos, se recomienda utilizar ArrayList en lugar de Vector.

Con esta explicación empezamos a recrear un ejercicio para comprender el uso de los vectores en Java.

Caso estudio: Crear un vector el cual almacenará el listado de los departamentos de Colombia, posteriormente realizar las siguientes acciones:

  • Mostrar en pantalla el primer y último departamento almacenado en el vector.
  • Conocer en qué posición se encuentra determinado departamento en el vector (Con su nombre).
  • Se debe poder eliminar una ciudad del vector, sin perder el orden del mismo.
  • Mostrar todos los departamentos almacenados en el vector.

Desarrollo del ejercicio

Empezamos el código del ejercicio definiendo el vector que utilizaremos y llenándolo con los departamentos de Colombia, así: