what is java vector java vector class tutorial with examples
Este tutorial explica todo sobre la estructura de datos vectoriales en Java con ejemplos. Aprenderá a Crear, Inicializar, Ordenar y Usar un Vector Java en sus Programas:
Un vector se puede definir como una matriz dinámica que puede crecer o encogerse por sí sola, es decir, el vector crecerá cuando se le agreguen más elementos y se encogerá cuando se le quiten elementos.
Este comportamiento es diferente al de las matrices que son estáticas. Pero al igual que las matrices, se puede acceder a los elementos vectoriales mediante índices enteros.
=> Consulte aquí para ver los tutoriales de capacitación de la A a la Z de Java aquí.
Un vector puede verse como similar a otra estructura de datos de matriz dinámica, ArrayList excepto por las dos diferencias siguientes:
- El vector está sincronizado, es decir, todos los métodos en Vector están marcados como 'sincronizados' y, por lo tanto, una vez que se invoca un método, no se puede invocar el mismo método a menos que la llamada anterior haya finalizado.
- La clase de vector tiene muchos métodos que no forman parte del marco de las colecciones, sino sus métodos heredados.
Lo que vas a aprender:
Clase de vector de Java
Una clase Vector es parte de la ' java.util ”Paquete e implementa la interfaz List. Un vector es una matriz de objetos o un vector de objetos.
A continuación se proporciona una declaración de clase de la clase Vector:
|_+_|Como se muestra arriba, una clase Vector se extiende ' java.lang.object ”E implementa interfaces List, Cloneable y Serializable.
¿Cómo crear un vector en Java?
Puede crear un objeto Vector utilizando cualquiera de los siguientes métodos constructores de Vector.
implementación de lista de adyacencia c ++
| Prototipo de constructor | Descripción | |
|---|---|---|
| Claro | Vacío claro () | Borra el vector de sus elementos. |
| vector() | Este es el constructor predeterminado de la clase Vector. Crea un vector vacío con tamaño 10. | |
| vector (int initialCapacity) | Este constructor sobrecargado construye un objeto Vector vacío con la capacidad = initialCapacity. | |
| vector (int initialCapacity, int capacityIncrement) | Este método constructor crea un objeto Vector vacío con initialCapacity y capacityIncrement especificados. | |
| Vector (Colección c) | Se crea un objeto Vector con los elementos iniciales de la colección especificada c. |
Veamos cada uno de los constructores para inicializar objetos Vector.
Inicializar vector
(i) Vector ()
Este es el constructor predeterminado de la clase Vector. Cuando invoca este constructor, se crea un objeto Vector de tamaño predeterminado 10.
La sintaxis general de este método es:
Objeto vectorial = nuevo Vector ();
Por ejemplo,
|_+_|La declaración anterior crea un nuevo vector 'vec1' con tamaño 10.
(ii) Vector (int initialCapacity)
El constructor sobrecargado de la clase Vector acepta 'initialCapacity' como argumento. Este constructor crea un objeto Vector con la capacidad especificada.
La sintaxis general del método es:
Objeto vectorial = nuevo Vector (initialCapacity);
Por ejemplo,
|_+_|La declaración de programación anterior creará un objeto Vector 'vec1' con la capacidad de 10, es decir, este Vector puede almacenar hasta 10 elementos.
(iii) Vector (int initialCapacity, int capacityIncrement)
Este es otro constructor sobrecargado de la clase Vector y crea un objeto Vector con la capacidad inicial especificada y el incremento para la capacidad.
La sintaxis general de este método es:
Objeto vectorial = nuevo Vector (initialCapacity, capacityIncrement);
Por ejemplo,
|_+_|En la declaración anterior, la capacidad inicial del Vector es 5 y el incremento es 10. Esto significa que cuando el 6thelemento se inserta en el vector, la capacidad del vector se incrementará a 15 (5 + 10). Del mismo modo, cuando el 16thse inserta el elemento, la capacidad vectorial del Vector se ampliará a 25 (15 +10).
(iv) Vector (Colección c)
El último constructor sobrecargado de la clase Vector toma una colección predefinida como argumento y crea un Vector con todos los elementos de esta colección como sus elementos.
La sintaxis general es:
Objeto vectorial = nuevo Vector (Colección c);
Por ejemplo,
|_+_|La declaración anterior creará un vector 'vec1' con elementos iniciales como {1,2,3,4, 5}.
Tener todas estas descripciones en mente nos permitirá implementar un programa Vector para comprender mejor estos constructores.
Métodos vectoriales en Java
Los siguientes son los métodos que admite la clase Vector en Java.
| Nombre del método | Prototipo | Descripción |
|---|---|---|
| agregar | Suma booleana (E e) | Agrega el elemento dado al final del vector. |
| Agregar vacío (índice int, elemento E) | Agregue el elemento al vector en el índice especificado. | |
| añadir todo | AddAll booleano (colección c) | Agrega todos los elementos de la colección dada al final del vector. |
| Boolean addAll (índice int, colección c) | Agrega todos los elementos de la colección especificada en el índice especificado. | |
| addElement | addElement vacío (E obj) | Agrega el elemento especificado al final del vector aumentando el tamaño del vector. |
| Capacidad | Int capacidad () | Devuelve la capacidad actual del vector. |
| Clon | Clonar objeto () | Clona el vector. |
| Contiene | Booleano contiene (Objeto o) | Comprueba si el vector contiene el elemento especificado. |
| contiene todo | Boolean containsAll (Colección c) | Comprueba si el vector contiene todos los elementos presentes en una colección determinada. |
| copyInto | CopyInto vacío (objeto () anArray) | Copia los elementos vectoriales en una matriz dada. |
| ElementAt | E ElementAt (índice int) | Devuelve el elemento vectorial en el índice especificado. |
| Elementos | Enumerationelements() | Devuelve componentes enumerados para el vector. |
| asegurarCapacidad | Void asegurarCapacidad (int minCapacity) | Aumenta la capacidad del vector para cumplir con la capacidad mínima especificada. |
| Nombre del método | Prototipo | Descripción |
|---|---|---|
| insertElementAt | InsertElementAt vacío (E obj, índice int) | Inserta el objeto dado en el vector en el índice dado. |
| Igual | Es igual a booleano (Objeto o) | Compara el vector actual con el vector especificado para comprobar si son iguales. |
| firstElement | E primer elemento () | Devuelve el primer elemento del vector en el índice 0. |
| Obtener | E get (índice int) | Devuelve el elemento del vector en el índice especificado. |
| código hash | int hashCode () | Devuelve el valor del código hash para el vector. |
| índice de | int indexOf (Objeto o) | encuentra el índice de la primera aparición del elemento dado en el vector; -1 si el elemento no está presente en el vector. |
| int indexOf (Objeto o, int índice) | Busca el vector del índice dado en la dirección de avance para el elemento especificado; devuelve el índice si se encuentra el elemento; si no, -1 si no se encuentra el elemento. | |
| esta vacio | Boolean isEmpty () | Comprueba si el vector está vacío. |
| Iterador | Iteratoriterator () | Devuelve un iterador que se usa para recorrer los elementos del vector. |
| lastElement | E lastElement () | Devuelve el último elemento del vector. |
| lastIndexOf | Int lastIndexOf (Objeto o) | Busca en el vector la última aparición de un elemento dado y devuelve el índice, o devuelve -1 el elemento no se encuentra. |
| Int lastIndexOf (Objeto o, índice int) | Empieza a buscar la última aparición del elemento dado desde el índice dado hacia atrás. Devuelve el índice si se encuentra el elemento; de lo contrario, devuelve -1. | |
| listIterator | ListIteratorlistIterator () | Devuelve un iterador de lista sobre los elementos vectoriales. |
| ListIteratorlistIterator (índice int) | Devuelve un iterador de lista sobre los elementos vectoriales a partir del índice dado. |
| Nombre del método | Prototipo | Descripción |
|---|---|---|
| removeRange | protegido vacío removeRange (int fromIndex, int toIndex) | Elimina todos los elementos del vector en el rango dado de fromIndex (inclusive), totoIndex (exclusivo). |
| Eliminar | E eliminar (índice int) | Elimina el elemento en el índice dado del vector. |
| Eliminación booleana (Objeto o) | Elimina la primera aparición del elemento dado del vector. Si el elemento no está presente, no le pasa nada al vector | |
| eliminar todo | Boolean removeAll (Colección c) | Elimina todos los elementos del vector que están presentes en la colección dada. |
| anular eliminar todos los elementos () | Elimina todos los elementos del vector reduciéndolo a tamaño cero. | |
| removeElement | RemoveElement booleano (objeto obj) | Elimina la primera aparición del elemento dado del vector. |
| void removeElementAt (índice int) | Elimina el elemento en el índice dado. | |
| retener todo | Boolean keepAll (Colección c) | A diferencia de 'removeAll', el método keepAll retiene los elementos del Vector que coinciden con los elementos de la Colección especificada. |
| conjunto | E conjunto (índice int, elemento E) | Establece el valor en el índice dado con el nuevo elemento proporcionado. |
| Conjunto vacío ElementAt (E obj, índice int) | Establece los elementos dados en el índice dado. | |
| setSize | SetSize vacío (int newSize) | Establece el tamaño dado para este vector. |
| Tamaño | int tamaño () | Devuelve el número de elementos de este vector o la longitud del vector. |
| subList | ListsubList (intfromIndex, inttoIndex) | Devuelve una vista o subLista del vector que va de fromIndex a toIndex. |
| toArray | Objeto () toArray () | Convierte el vector dado en una matriz que contiene todos los elementos del vector en el orden dado. |
| T () toArray (T () a) | Devuelve una matriz de tipo especificado que contiene todos los elementos vectoriales. | |
| Encadenar | Cadena toString () | Devuelve una representación de cadena del vector. |
| trimToSize | void trimToSize () | Recorta el vector para adaptarse al tamaño actual. |
Implementación de vectores
El siguiente programa Java demuestra el uso de todos los métodos constructores descritos anteriormente.
|_+_|Producción:

El programa anterior tiene cuatro vectores. La primera v1 se crea con un constructor predeterminado. El segundo Vector v2 se crea con una capacidad inicial de 20. Luego, se agregan pocos elementos a v2. El tercer vector se crea con una capacidad inicial de 30 y un incremento de 10.
A continuación, creamos una ArrayList y creamos un cuarto Vector v4 con ArrayList como argumento. Finalmente, mostramos el contenido de cada uno de estos Vectores.
Tenga en cuenta el contenido del cuarto Vector v4. Como hemos proporcionado ArrayList como argumento, el contenido de ArrayList se convierte en el contenido de v4.
Ejemplo completo de vector
Ahora implementemos otro programa que demostrar la creación de vectores, agregarle elementos y mostrar su contenido.
|_+_|Producción:

Tomemos otro ejemplo de vector. En este programa, usar un vector de cadena . Manipulamos este vector agregando elementos y luego imprimimos su tamaño y capacidad.
|_+_|Producción:

Ordenar un vector
También puede ordenar un vector según un orden específico. Para ordenar un vector, debe utilizar el método Collections.sort () de Java Collections Framework.
El siguiente ejemplo muestra la clasificación de vectores.
|_+_|Producción:

El programa anterior crea un vector de números impares. Luego, utilizando el método Collections.sort (), el Vector se ordena.
Vector 2D (bidimensional)
Un vector 2d es un vector que tiene cada uno de sus elementos como un vector. También puede denominarse 'Vector de vectores'.
Un ejemplo a continuación demuestra el 2d Vector.
|_+_|Producción:
VPN Japón

En el programa anterior, tenemos un Vector de cuatro elementos. Luego, declaramos otro vector y agregamos el vector anterior como un elemento al segundo vector. Observe la forma en que se accede a los elementos del vector. En el ciclo for, puede concluir que el primer elemento del vector exterior (en el índice 0) es el primer vector o el interior.
Por lo tanto, en el ciclo, mantenemos el índice del vector externo como 0 y recorremos el vector interno para mostrar todos los elementos.
Convertir vector a matriz
Consideremos el siguiente ejemplo de conversión de un vector en una matriz. Para convertir un vector en una matriz, utilizamos el método 'toArray' de la clase Vector.
En el siguiente ejemplo de programación , declaramos un vector de cadena y le agregamos elementos. Luego, utilizando el método toArray de la clase Vector, convertimos el vector en una matriz de cadenas pasando el objeto de la matriz de cadenas como argumento.
|_+_|Producción:

Vector vs matriz
A continuación se enumeran algunas de las diferencias entre un vector y una matriz.
| Vector | Formación |
|---|---|
| Reserva almacenamiento adicional cuando se incrementa la capacidad. | No reserva ningún almacenamiento adicional. |
| El vector es dinámico y su tamaño crece y se reduce a medida que se agregan o eliminan elementos. | Las matrices son estáticas y su tamaño permanece fijo una vez declaradas. |
| Los vectores solo pueden almacenar objetos. | Las matrices pueden almacenar tanto tipos primitivos como objetos. |
| Proporciona un método size () para determinar el tamaño. | Proporciona la propiedad de longitud para determinar la longitud. |
| No hay dimensiones de concepto, pero se puede crear como un vector de vectores, normalmente llamado vector 2d. | Dimensiones de soporte de matrices. |
| El vector está sincronizado. | La matriz no está sincronizada. |
| El vector es más lento que la matriz. | Array es más rápido. |
| Garantiza la seguridad del tipo al admitir genéricos. | Sin soporte genérico. |
Vector vs ArrayList
Esta sección analiza la diferencia entre Vector y ArrayList en Java.
| Vector | Lista de arreglo |
|---|---|
| El vector tiene un tamaño de incremento con el que se puede aumentar el tamaño del vector. | ArrayList no proporciona un tamaño de incremento. |
| Presente desde la versión inicial de Java (versión JDK 1.0). | Introducido en Java desde JDK 1.2 |
| Vector es una clase heredada de Java. | ArrayList es parte del marco de colecciones de Java. |
| Vector crece el doble de su tamaño cuando se alcanza su capacidad. | ArrayList crece a la mitad del tamaño cuando se alcanza su capacidad. |
| Los métodos vectoriales están sincronizados. | ArrayList no está sincronizado. |
| Vector usa Enumerator e Iterator para atravesar. | ArrayList usa solo Iterator. |
| Las operaciones vectoriales son más lentas. | ArrayList es más rápido. |
| Vector es seguro para subprocesos, lo que significa que el uso de Vector desde varios subprocesos está permitido y es seguro. | ArrayList no es seguro para subprocesos. |
Preguntas frecuentes
P # 1) ¿Qué es un vector en Java?
Responder: En Java, un vector se puede definir como una matriz de objetos que se puede crecer. De forma similar a las matrices, también se puede acceder a los elementos vectoriales mediante índices.
P # 2) ¿El vector está ordenado en Java?
Responder: Si. Un vector se ordena y mantiene el orden de inserción de los elementos.
P # 3) ¿Es Vector seguro para subprocesos en Java?
Responder: Si. En Java, la clase Vector es segura para subprocesos. Como la clase Vector está sincronizada, la hace segura para subprocesos, es decir, puede usar la clase Vector desde varios subprocesos y es segura.
P # 4) ¿Por qué usamos vector en Java?
Responder: La razón más importante por la que se utiliza Vector en Java es que un Vector crece y se reduce automáticamente. Son dinámicos por lo que se prefieren a las matrices.
P # 5) ¿Qué es mejor: ArrayList o vector?
Responder: ArrayList en cuanto al rendimiento es más rápido en comparación con Vector, ya que Vector está sincronizado y lo hace más lento.
Conclusión
En este tutorial, comenzamos con la estructura de datos de Vector en Java. Los vectores son casi similares a una matriz en la que se accede a los elementos del vector utilizando índices familiares. Los vectores se denominan matriz dinámica y, a diferencia de las matrices, el tamaño del vector crece y se reduce automáticamente.
Los vectores también tienen la capacidad y las características de incremento que se pueden utilizar para crear y reservar almacenamiento adicional para futuras adiciones. Vector es una clase heredada en el paquete java.util de Java y está sincronizado y es seguro para subprocesos.
Por lo tanto, deberíamos preferir los vectores cuando necesitamos un tamaño dinámico y también mientras estamos trabajando en un entorno de subprocesos múltiples.
=> Visite aquí para ver la serie exclusiva de tutoriales de formación en Java.
Lectura recomendada
- Tutorial de JAVA para principiantes: más de 100 tutoriales prácticos en vídeo de Java
- Tutorial de reflexión de Java con ejemplos
- Tutorial de interfaz Java y clase abstracta con ejemplos
- Matriz irregular en Java - Tutorial con ejemplos
- Tutorial de longitud de matriz de Java con ejemplos de código
- Cómo ordenar una matriz en Java - Tutorial con ejemplos
- Java 'this' palabra clave: tutorial con ejemplos de código
- Modificadores de acceso en Java: tutorial con ejemplos