¿Qué es Vector en Java y cómo lo usamos?



Este blog sobre 'Vectores en Java' lo ayudará a comprender en qué se diferencia la clase de vector de ArrayList y lo ayudará a aprender sobre los diferentes métodos involucrados.

Vectores en son una de las estructuras de datos más utilizadas en el mundo de la programación.Todos sabemos eso Matrices son estructuras de datos que contienen los datos de forma lineal. Los vectores también almacenan los datos de forma lineal, pero a diferencia de las matrices, no tienen un tamaño fijo. En cambio, su tamaño se puede aumentar a pedido.

La clase Vector es una clase secundaria de AbstractList clase e implementos en Lista .Para usar Vectores, primero tenemos que importar la clase Vector del paquete java.util:





import java.util.Vector

En este artículo, discutiremos los siguientes conceptos de vectores:



¡Empecemos!

Ventaja s de Vector en Java

  • La propiedad de tener un tamaño dinámico es muy útil ya que evita el desperdicio de memoria en caso de que no conozcamos el tamaño del estructura de datos en el momento de la declaración.
  • Cuando queremos cambiar el tamaño de nuestra estructura de datos en medio de un programa, los vectores pueden resultar muy útiles.

La propiedad de tener un tamaño dinámico no es exclusiva de los vectores en Java. Otra estructura de datos, conocida como ArrayList, también muestra la propiedad de tener un tamaño dinámico. Sin embargo, los vectores son diferentes de ArrayLists debido a un par de razones:

  • Primero, los vectores están sincronizados, lo que le da una ventaja sobre en comparación con programas, ya que existen riesgos de corrupción de datos.
  • En segundo lugar, los vectores tienen algunas funciones heredadas que se pueden implementar solo en vectores y no en ArrayLists.

Cómo acceder a elementos en Vector

Podemos acceder a los miembros de datos simplemente usando el índice del elemento, al igual que accedemos a los elementos en Arrays.



Ejemplo- Si queremos acceder al tercer elemento en un vector v, simplemente nos referimos a él como v [3].

Vectores Constructores

A continuación se enumeran las múltiples variaciones de vector constructores disponible para usar:

  1. Vector (int initialCapacity, int Incremento) - Construye un vector con una capacidad inicial dada y su Incremento de tamaño.
  2. Vector (int initialCapacity) Construye un vector vacío con initialCapacity dada. En este caso, Increment es cero.
  3. Vector() - Construye un vector predeterminado de capacidad 10.
  4. Vector (Colección c) Construye un vector con una colección determinada, el orden de los elementos es el mismo que devuelve el iterador de la colección.

También hay tres parámetros protegidos en vectores

  1. Incremento de capacidad int () - Aumenta automáticamente la capacidad del vector cuando el tamaño supera la capacidad.
  2. Int elementCount () - decir el número de elementos en el vector
  3. Object [] elementData () - matriz en la que se almacenan los elementos del vector

Errores más comunes en la declaración de vectores

  • Vector lanza un Argumento de excepción ilegal si InitialSize del vector definido es negativo.
  • Si la colección especificada es nula, arroja Excepción de puntero nulo

Nota:

  1. Si no se especifica el incremento del vector, su capacidad seráduplicado en cada ciclo de incremento.
  2. La capacidad de un vector no puede estar por debajo del tamaño, puede igualarlo.

Consideremos un ejemplo de inicialización de constructores de vectores.

Ejemplo: inicialización de constructores vectoriales

/ Código Java que ilustra los constructores de vectores import java.util. * Public class Main {public static void main (String [] args) {// crea el vector predeterminado Vector v1 = new Vector () // crea un vector de tamaño dado Vector v2 = new Vector (20) // crea un vector de tamaño e incremento Vector v3 = new Vector (30,10) v2.add (100) v2.add (100) v2.add (100) // crea un vector con dado colección Vector v4 = new Vector (v2) System.out.println ('Vector v1 de capacidad' + v1.capacity ()) System.out.println ('Vector v2 de capacidad' + v2.capacity ()) System.out .println ('Vector v3 de capacidad' + v3.capacity ()) System.out.println ('Vector v4 de capacidad' + v4.capacity ())}

Salida

Constructores - Vectores en Java - Edureka

Asignación de memoria de vectores

Hasta ahora, debe haber entendido que los Vectores no tienen un tamaño fijo, sino que tienen la capacidad de cambiar su tamaño de forma dinámica. Uno podría pensar que los vectores asignan un espacio largo indefinido para almacenar objetos. Pero este no es el caso. Los vectores pueden cambiar su tamaño en función de dos campos 'capacidad' y 'aumento de capacidad'. Inicialmente, se asigna un tamaño igual al campo 'capacidad' cuando se declara un vector. Podemos insertar los elementos igual a la capacidad. Pero tan pronto como se inserta el siguiente elemento, aumenta el tamaño de la matriz según el tamaño 'CapacityIncrement'. Por lo tanto, puede cambiar su tamaño de forma dinámica.

Para Constructor predeterminado , la capacidad se duplica siempre que la capacidad está llena y se debe insertar un nuevo elemento.

números de fibonacci c ++

Ejemplo - Supongamos que tenemos un vector de InitialCapacity 5 y capacityIncrement de 2. Entonces, el tamaño inicial del vector es de 5 elementos. Insertamos 5 elementos en este vector uno por uno, es decir, 1,2,3,4,5. Cuando intentamos insertar otro elemento en el vector, a saber, 6, el tamaño del vector se incrementará en 2. Por lo tanto, el tamaño del vector ahora es 7. De modo que el vector ajusta fácilmente su tamaño de acuerdo con el no. de elementos.

Otro punto interesante es que, a diferencia de las matrices, los vectores no contienen objetos reales, sino solo referencias a los objetos. Por tanto, permite almacenar objetos de diferentes tipos de datos en el mismo vector.

Métodos en Vector

Echemos un vistazo a algunos de los métodos vectoriales que se utilizan con mucha frecuencia.

  • Suma booleana (Objeto o) - Agrega un elemento al final del vector.
// Código Java que muestra el método booleano add () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (1 ) // Agrega 1 al final de la lista v.add ('Java') // Agrega 'Java' al final de la lista v.add ('es') // Agrega 'es' al final de la list v.add ('Fun') // Agrega 'Fun' al final de la lista System.out.println ('El vector es' + v)}}

Salida

  • Agregar vacío (índice int, elemento E) - Agrega el elemento dado en el índice especificado en el vector
// Código Java que muestra el método void add () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (0 , 1) // Agrega 1 en el índice 0 v.add (1, 'Java') // Agrega 'Java' en el índice 1 v.add (2, 'is') // Agrega 'is' en el índice 2 v.add (3, 'Fun') // Agrega 'Fun' en el índice 3 v.add (4, '!!!') // Agrega 'Fun' en el índice 4 System.out.println (' El vector es '+ v)}}

Salida

  • Eliminar booleano (objeto o) - Elimina eliminar el elemento en el índice dado en el vector
// Código Java que muestra el método booleano remove () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (1 ) // Agrega 1 al final de la lista v.add ('Java') // Agrega 'Java' al final de la lista v.add ('es') // Agrega 'es' al final de la list v.add ('Fun') // Agrega 'Fun' al final de la lista System.out.println ('Vector antes de la eliminación' + v) v.remove (1) System.out.println ('Vector after eliminación '+ v)}}

Salida

  • Booleano removeElement ( Objeto obj) Elimina el elemento por su nombre obj (no por número de índice)
// Código Java que muestra el método removeElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (1) // Agrega 1 al final de la lista v.add ('Java') // Agrega 'Java' al final de la lista v.add ('es') // Agrega 'es' al final de la lista v.add ('Fun') // Agrega 'Fun' al final de la lista System.out.println ('Vector antes de la eliminación' + v) v.removeElement ('Java') System.out.println ('Vector después de la eliminación '+ v)}}

Salida

  • Tamaño int () - Devuelve el tamaño del vector.
// Código Java que muestra el método size () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (0, 1) // Agrega 1 en el índice 0 v.add (1, 'Java') // Agrega 'Java' en el índice 1 v.add (2, 'is') // Agrega 'is' en el índice 2 v.add (3, 'Fun') // Agrega 'Fun' en el índice 3 System.out.println ('El tamaño del vector es' + v.size ())}}

Salida

  • Capacidad Int () - Devuelve la capacidad del vector
// Código Java que muestra el método capacity () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (0, 1) // Agrega 1 en el índice 0 v.add (1, 'Java') // Agrega 'Java' en el índice 1 v.add (2, 'is') // Agrega 'is' en el índice 2 v.add (3, 'Fun') // Agrega 'Fun' en el índice 3 System.out.println ('La capacidad del vector es' + v.capacity ())}}

Salida

  • Objeto get (int index) - Devuelve el elemento en la posición dada en el vector
// Código Java que muestra el método get () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (1) // Agrega 1 al final de la lista v.add ('Java') // Agrega 'Java' al final de la lista v.add ('es') // Agrega 'es' al final de la lista v.add ('Fun') // Agrega 'Fun' al final de la lista System.out.println ('El elemento en el índice 1 es' + v.get (1))}}

Salida

  • Objeto firstElement () - Devuelve el primer elemento
// Código Java que muestra el método firstElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (1) // Agrega 1 al final de la lista v.add ('Java') // Agrega 'Java' al final de la lista v.add ('es') // Agrega 'es' al final de la lista v.add ('Fun') // Agrega 'Fun' al final de la lista System.out.println ('El primer elemento es' + v.firstElement ())}}

Salida

  • Objeto lastElement () - Devuelve el último elemento
// Código Java que muestra el método lastElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (1) // Agrega 1 al final de la lista v.add ('Java') // Agrega 'Java' al final de la lista v.add ('es') // Agrega 'es' al final de la lista v.add ('Fun') // Agrega 'Fun' al final de la lista System.out.println ('El último elemento es' + v.lastElement ())}}

Salida

  • Es igual a booleano (Objeto o) - Compara el vector con el objeto especificado para la igualdad. Devuelve verdadero si todos los elementos son verdaderos en sus índices correspondientes
// Código Java que muestra el método booleano equals () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado Vector vcopy = new Vector () v.add (1) // Agrega 1 al final de la lista v.add ('Java') // Agrega 'Java' al final de la lista v.add ('es') // Agrega ' is 'al final de la lista v.add (' Fun ') // Agrega' Fun 'al final de la lista vcopy.add (0,1) // Agrega 1 en el índice 0 vcopy.add (1, 'Java') // Agrega 'Java' en el índice 1 vcopy.add (2, 'is') // Agrega 'is' en el índice 2 vcopy.add (3, 'Fun') // Agrega 'Fun' en el índice 3 vcopy.add (4, '!!!') // Agrega 'Fun' en el índice 4 if (v.equals (vcopy)) System.out.println ('Ambos vectores son iguales') else Sistema .out.println ('Los vectores no son iguales')}}

Salida

  • Trimtosize vacío () - Este método elimina la capacidad adicional y mantiene la capacidad solo para contener los elementos, es decir, igual al tamaño
// Código Java que muestra el método trimToSize () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Crea un vector predeterminado v.add (0, 1) // Agrega 1 en el índice 0 v.add (1, 'Java') // Agrega 'Java' en el índice 1 v.add (2, 'is') // Agrega 'is' en el índice 2 v.add (3, 'Fun') // Agrega 'Fun' en el índice 3 System.out.println ('La capacidad del vector es' + v.capacity ()) v.trimToSize () System.out.println ( 'La capacidad del vector es' + v.capacity ())}}

Salida


Otros métodos importantes

A estas alturas ya debe tener una buena idea de cómo trabajar con vectores. Si desea explorar más de los métodos vectoriales, eche un vistazo a la siguiente tabla.

Nombre del método Función del método

Boolean isEmpty ()

comprueba si los elementos existen o no

Booleano contiene (Objeto o)

utilizado para comprobar la existencia de un elemento específico, digamos o

int indexOf (Objeto o)

Devuelve el índice del elemento o

void removeRange (int s, int e)

elimina elementos del vector comenzando por sy terminando con (e-1)

vacío claro ()

elimina todos los elementos

cómo implementar el método abstracto en java

void asegurarCapacidad (int c)

Aumenta la capacidad en c

void setSize (int s)

Establece el tamaño en s. Si el tamaño de s>, la capacidad adicional se llena con valores nulos. Si s

Elemento de objetoAt (int a)

devuelve el elemento existente en el número de índice a

Conjunto de objetos (int a, Object o)

reemplaza el elemento presente en el índice a con el elemento dado o

Objeto [] toArray ()

devuelve una matriz que contiene los mismos elementos que el vector

Clonar objeto ()

El objeto vectorial se copia

AddAll booleano (colección c)

agrega todos los elementos de la Colección c al vector

Booleano addAll (int a, colección c)

inserta todos los elementos de la colección c al vector en el índice especificado a

Retener todos booleanos (colección c)

conserva todos los elementos del vector que también existen en la Colección c

Lista subLista (int s, int e)

devuelve los elementos, como un objeto List, comenzando por sy terminando con (e-1) desde el vector.

A medida que todo lo bueno llega a su fin, también nuestro blog sobre Vectores en . Esperamos haber podido cubrir todos los aspectos de los vectores de Java en este blog y que haya podido recopilar algunos conocimientos sobre los vectores.

Asegúrese de practicar tanto como sea posible y revertir su experiencia.

Revisar la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. Estamos aquí para ayudarlo en cada paso de su viaje, para que, además de estas preguntas de la entrevista de Java, se desarrolle un plan de estudios diseñado para estudiantes y profesionales que desean ser Desarrolladores de Java.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este 'Vectores en Java' artículo y nos pondremos en contacto con usted lo antes posible.