Vector en Java | Clase vectorial de Java con ejemplos

Publicado: 2021-05-26

En programación, una de las estructuras de datos más utilizadas es Vector en Java. Las matrices son estructuras de datos estáticas que pueden almacenar datos de forma lineal. Del mismo modo, los vectores en Java también almacenan los datos de forma lineal, pero no están restringidos a un tamaño fijo. En cambio, su tamaño puede crecer o reducirse según los requisitos. La clase principal es la clase AbstractList y se implementa en la interfaz de lista.

Antes de comenzar a usar vectores, impórtelos desde java.util.package de la siguiente manera:

importar java.util.Vector

Tabla de contenido

Declaración y Evaluación de Elementos de un Vector

Así es como se declara un vector en Java:

clase pública Vector<V> extiende AbstractList<V>

implementa List<V>, RandomAccess, Cloneable, Serializable

Aquí, V es el tipo de elemento que puede ser int, string, char, etc.

Al igual que accedemos a miembros de datos en matrices, también podemos hacerlo en vectores, usando el índice del elemento. Por ejemplo, se puede acceder al segundo elemento del Vector E como E[2].

Algunos errores comunes cometidos al declarar un vector en Java:

  • Se lanza una IllegalArgumentException si el tamaño inicial del vector es un valor negativo
  • Se lanza una NullPointerException si la colección especificada es nula
  • El tamaño del vector es menor o igual a la capacidad del vector
  • La capacidad se duplica en cada ciclo de incremento si no se especifica el incremento vectorial

Constructores

1. Vector(int initialCapacity, int Incremento)

Esto crea un vector en java con una capacidad inicial como se especifica, y también se especifica el incremento. Con incremento, se especifica el número de elementos asignados cada vez que el vector se redimensiona hacia arriba.

Sintaxis: Vector<V> e = new Vector<V>(int initialCapacity, int Increment);

2. Vector (capacidad inicial int)

Crea un vector en Java con una capacidad inicial igual al tamaño especificado.

Sintaxis: Vector<V> e = new Vector<V>(int initialCapacity);

3. Vector()

Crea un vector en Java con una capacidad predeterminada inicial de 10.

Sintaxis: Vector<V> e = new Vector<V>();

4. Vector (Colección c)

Crea un vector en java cuyos elementos son los de la colección c.

Sintaxis: Vector<V> e = new Vector<V>(Colección c);

Aquí hay un ejemplo para demostrar la creación y el uso de un vector en Java:

Código

importar java.util.*;

principal de clase pública{

public static void main(String[] args)

{

// Crear vector por defecto

Vector a = nuevo Vector();

// Crea un vector de tamaño especificado

Vector b = nuevo Vector(20);

// Crear un vector de tamaño e incremento especificados

Vector c = nuevo Vector(30,10);

b.añadir(100);

b.añadir(200);

b.añadir(300);

// Crea un vector con una colección específica

Vector d = nuevo Vector(b)

System.out.println(“Vector a de capacidad” + a.capacidad());

System.out.println(“Vector b de capacidad” + b.capacidad());

System.out.println(“Vector c de capacidad” + c.capacidad());

System.out.println(“Vector d de capacidad” + d.capacidad());

}}

Producción

Nota: .capacity() se usa para devolver la capacidad del vector.

Un vector en Java tiene tres parámetros protegidos de la siguiente manera:

1. Int elementCount()- Indica el número de elementos que contiene un vector

2. Int capcityIncremen()- Cuando el tamaño del vector se vuelve mayor que la capacidad, la capacidad aumenta automáticamente con esto.

3. Object[] elementData()- Los elementos del vector se almacenan en una matriz.

Métodos

Aquí hay algunos métodos de vector de uso frecuente en Java:

1. Agregar elementos

Boolean add (Objeto o) - Un elemento se agrega al final del vector

Agregar vacío (elemento V de índice int): el elemento dado se agrega al índice especificado en el vector

Código para agregar los elementos en Vector en java:

importar java.util.*;

importar java.io.*;

clase pública AddElementsToVector {

public static void main(String[] arg)

{

// Crear un vector por defecto

Vector a = nuevo Vector();

// Agregando elementos usando el método add()

a.añadir(1);

a.añadir(2);

a.add(“vecto”);

a.add(“para”);

a.añadir(3);

System.out.println(“Vector a es” + a);

// Crea un vector genérico

Vector<Entero> b = new Vector<Entero>();

b.añadir(0);

b.añadir(1);

b.añadir(2);

System.out.println(“El vector b es ” + b);

}

}

Producción

2. Eliminar elementos

Eliminación booleana (objeto o): se utiliza para eliminar el elemento en el índice especificado en el vector

Cuando se elimina el elemento, todos los elementos se desplazan hacia la izquierda para llenar los espacios; luego se actualizan los índices.

Código para ilustrar la eliminación de elementos del vector en Java:

importar java.util.*;

importar java.io.*;

clase pública Quitar {

public static void main(String[] arg)

{

// Crear un vector por defecto

Vector a = nuevo Vector();

// Agregando elementos usando el método add()

a.añadir(1);

a.añadir(2);

a.add(“vecto”);

a.add(“para”);

a.añadir(4);

// Quitar elemento

a.remove(2);

// Controlar

System.out.println(“después de eliminar:” + a);

}

}

Producción

Checkout: ¿Cómo hacer una carrera exitosa en Java?

3. Cambiar elementos

El método set () se puede usar para cambiar el elemento después de agregar los elementos. El índice del elemento se puede referenciar como se indexa un vector. Este método toma el índice y el elemento actualizado.

Código para cambiar los elementos en vector en java

importar java.util.*;

Actualización de clase pública {

public static void main(String args[])

{

// Crear un vector vacío

Vector<Entero> a = new Vector<Entero>();

// Agregar elementos

a.añadir(1);

a.añadir(2);

a.añadir(3);

a.añadir(10);

a.añadir(20);

// Mostrar

System.out.println(“Vector: ” + a);

// Reemplazar

System.out.println(“Reemplazando”

+ a.conjunto(0, 22));

System.out.println(“Reemplazando”

+ a.conjunto(4, 50));

// Mostrar el vector modificado

System.out.println(“El nuevo vector es:” + a);

}

}

Producción

4. Iterar el Vector

Hay varias formas de recorrer un vector. Uno de ellos es el método get(). Aquí hay un programa para iterar los elementos en un Vector en Java:

importar java.util.*;

iteración de clase pública {

public static void main(String args[])

{

// creando una instancia de vector

Vector<Cadena> a = nuevo Vector<>();

// Agrega elementos usando el método add()

a.añadir(“vector”);

a.add(“en”);

a.add(1, “java”);

// Usar el método Get y el bucle for

for (int i = 0; i < a.size(); i++) {

System.out.print(a.get(i) + ” “);

}

Sistema.salida.println();

// Usar para cada ciclo

para (Cadena str : a)

Sistema.out.print(str + ” “);

}

}

Producción

Leer: Arquitectura y componentes de Java

Otros métodos importantes

  • Int size(): se utiliza para devolver el tamaño del vector
  • Objeto get (índice int): se utiliza para devolver el elemento en la posición especificada en el vector
  • Object firstElement(): se usa para devolver el primer elemento del vector en Java
  • Object lastElement(): se usa para devolver el último elemento del vector en Java
  • Boolean equals(Object o) – utilizado para comparar el vector con el objeto dado para la igualdad. Devuelve verdadero si todos los elementos son verdaderos en sus respectivos índices
  • Void trimtosize(): se usa para eliminar capacidad adicional y mantener la capacidad igual al tamaño

Más sobre vectores

  • Un vector en java es una estructura de datos dinámica a la que se puede acceder mediante un índice entero.
  • Aunque es similar a ArrayList, está sincronizado y contiene algunos métodos heredados que no están disponibles en el marco de la colección.
  • Se mantiene el orden de inserción.
  • Rara vez se usa en un entorno sin subprocesos.
  • Debido a la sincronización, los vectores tienen un bajo rendimiento en la búsqueda, adición, actualización y eliminación de elementos.
  • Los iteradores de la clase vector fallan rápidamente y lanzan la excepción ConcurrentModificationException en caso de modificación simultánea.
  • Una pila es su subclase directamente conocida.

Asignación de memoria en vectores

Como se vio anteriormente, los vectores no tienen un tamaño definido. En cambio, un vector en Java puede cambiar su tamaño dinámicamente. Se supone que los vectores asignan un espacio indefinido para almacenar elementos. Sin embargo, no es así. El tamaño del vector se cambia en función de dos campos: 'incremento de capacidad' y 'capacidad'.

Cuando se declara un vector, se asigna un campo de 'capacidad' igual al tamaño y se pueden agregar elementos iguales a la capacidad. Tan pronto como se inserta el siguiente elemento, el tamaño de la matriz aumenta según el tamaño de 'capacityIncrement'. Esto le da al vector la capacidad de cambiar su tamaño: la capacidad se duplica para un constructor predeterminado cuando se inserta un nuevo elemento.

Aprenda cursos de software en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.

Ventajas de Vector en Java

El tamaño dinámico de los vectores evita el desperdicio de memoria y el tamaño de nuestra estructura de datos se puede cambiar en cualquier momento en medio del programa.

Tanto los vectores como las ArrayLists son dinámicas. Sin embargo, los vectores son más ventajosos como:

  • Los vectores están sincronizados.
  • Tiene algunas funciones heredadas que no se pueden implementar en ArrayLists.

Conclusión

Un vector en Java es una matriz dinámica sin límite de tamaño que forma parte de Java Collection Framework desde Java 1.2. Vimos varios constructores y métodos de vectores de uso popular en este blog. También vale la pena tener en cuenta que la clase Vector debe usarse solo en un entorno seguro para subprocesos.

Si está interesado en obtener más información sobre Java, OOP y desarrollo de software de pila completa, consulte el Programa PG ejecutivo en desarrollo de software de upGrad & IIIT-B: especialización en desarrollo de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos y asignaciones, estado de ex alumno de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.

¿Qué es un vector en Java?

Un vector es una estructura de datos en Java. Como sugiere su nombre, un vector es una especie de secuencia de elementos. Utiliza una matriz dinámica que crece y se reduce a medida que se accede a ella. Tiene un método size() para obtener el tamaño actual del vector y un método capacity() para obtener la capacidad del vector. Estos dos métodos devuelven los valores mayores que cero. La capacidad del vector es la cantidad de elementos que se pueden almacenar dentro del vector sin tener que asignar una nueva matriz. El tamaño del vector es el número de elementos actualmente almacenados dentro del vector.

¿Cuáles son las ventajas de los vectores sobre las matrices?

Las matrices tienen un tamaño fijo, lo que significa que no pueden crecer ni reducirse según sea necesario. Los vectores se implementan como matrices dinámicamente redimensionables, lo que les permite crecer y reducirse según sea necesario. Esto es útil para el crecimiento constante de los datos; por ejemplo, un programa que lee archivos de texto línea por línea podrá crecer junto con el tamaño del archivo. Los vectores son generalmente más eficientes que las matrices. Esto se debe a que los vectores se implementan como matrices de referencias (java.lang.Objects), mientras que las matrices se implementan como matrices de objetos.

¿Qué es ArrayList en Java?

La clase ArrayList representa una matriz dinámica. Puede crecer según sea necesario para acomodar nuevos elementos. La matriz en realidad se implementa como una lista de referencias a objetos. Cada vez que se necesita crear un elemento, se pone a disposición una referencia a un nuevo objeto. Esto es posible debido al hecho de que ArrayList se implementa como una lista de tamaño variable dinámicamente. ArrayList hereda la mayoría de sus métodos y campos de AbstractList. ArrayList es más rápido que una matriz ya que no tiene que crear nuevos objetos. Los métodos de mutación que cambian el tamaño de la matriz, como agregar, establecer y eliminar, se denominan métodos destructivos, ya que cambian permanentemente el tamaño de la matriz.