The Wayback Machine - https://web.archive.org/web/20240926201128/https://www.geeksforgeeks.org/java-util-vector-class-java/
Open In App

Vector Class in Java

Last Updated : 18 Jun, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Save
Share
Report
News Follow

Here is a simple example that demonstrates how to use a Vector in Java:

Java
import java.util.Vector;

public class VectorExample {
    public static void main(String[] args) {
        // Create a new vector
        Vector<Integer> v = new Vector<>(3, 2);

        // Add elements to the vector
        v.addElement(1);
        v.addElement(2);
        v.addElement(3);

        // Insert an element at index 1
        v.insertElementAt(0, 1);

        // Remove the element at index 2
        v.removeElementAt(2);

        // Print the elements of the vector
        for (int i : v) {
            System.out.println(i);
        }
    }
}

Output
1
0
3

The Vector class implements a growable array of objects. Vectors fall in legacy classes, but now it is fully compatible with collections. It is found in java.util package and implement the List interface, so we can use all the methods of the List interface as shown below as follows:

Vector Class in Java

  • Vector implements a dynamic array which means it can grow or shrink as required. Like an array, it contains components that can be accessed using an integer index.
  • They are very similar to ArrayList, but Vector is synchronized and has some legacy methods that the collection framework does not contain.
  • It also maintains an insertion order like an ArrayList. Still, it is rarely used in a non-thread environment as it is synchronized, and due to this, it gives a poor performance in adding, searching, deleting, and updating its elements.
  • The Iterators returned by the Vector class are fail-fast. In the case of concurrent modification, it fails and throws the ConcurrentModificationException.

Syntax: 

public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable

Here, E is the type of element.

  • It extends AbstractList and implements List interfaces.
  • It implements Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess interfaces.
  • The directly known subclass is Stack.

Important points regarding the Increment of vector capacity are as follows:

If the increment is specified, Vector will expand according to it in each allocation cycle. Still, if the increment is not specified, then the vector’s capacity gets doubled in each allocation cycle. Vector defines three protected data members:

  • int capacityIncrement: Contains the increment value.
  • int elementCount: Number of elements currently in vector stored in it.
  • Object elementData[]: Array that holds the vector is stored in it.

Common Errors in the declaration of Vectors are as follows:

  • Vector throws an IllegalArgumentException if the InitialSize of the vector defined is negative.
  • If the specified collection is null, It throws NullPointerException. 

Constructors

1. Vector(): Creates a default vector of the initial capacity is 10.

Vector<E> v = new Vector<E>();

2. Vector(int size): Creates a vector whose initial capacity is specified by size.

Vector<E> v = new Vector<E>(int size);

3. Vector(int size, int incr): Creates a vector whose initial capacity is specified by size and increment is specified by incr. It specifies the number of elements to allocate each time a vector is resized upward.

Vector<E> v = new Vector<E>(int size, int incr);

4. Vector(Collection c): Creates a vector that contains the elements of collection c.

Vector<E> v = new Vector<E>(Collection c);

Methods in Vector Class

Method

Description

add(E e)Appends the specified element to the end of this Vector.
add(int index, E element)Inserts the specified element at the specified position in this Vector.

addAll(Collection<?

extends E> c)

Appends all of the elements in the specified Collection to the end of this Vector, in the order that they are returned by the specified Collection’s Iterator.

addAll(int index,

Collection<? extends E> c)

Insert all of the elements in the specified Collection into this Vector at the specified position.
addElement(E obj)Adds the specified component to the end of this vector, increasing its size by one.
capacity()Returns the current capacity of this vector.
clear()Removes all of the elements from this Vector.
clone()Returns a clone of this vector.
contains(Object o)Returns true if this vector contains the specified element.
containsAll(Collection<?> c)Returns true if this Vector contains all of the elements in the specified Collection.
copyInto(Object[] anArray)Copies the components of this vector into the specified array.
elementAt(int index)Returns the component at the specified index.
elements()Returns an enumeration of the components of this vector.
ensureCapacity(int minCapacity)Increases the capacity of this vector, if necessary, to ensure that it can hold at least the number of components specified by the minimum capacity argument.
equals(Object o)Compares the specified Object with this Vector for equality.
firstElement()Returns the first component (the item at index 0) of this vector.

forEach(Consumer<?

super E> action)

Performs the given action for each element of the Iterable until all elements have been processed or the action throws an exception.
get(int index)Returns the element at the specified position in this Vector.
hashCode()Returns the hash code value for this Vector.
indexOf(Object o)

Returns the index of the first occurrence of the specified element in this vector,

or -1 if this vector does not contain the element.

indexOf(Object o, int index)Returns the index of the first occurrence of the specified element in this vector, searching forwards from the index, or returns -1 if the element is not found.
insertElementAt(E obj, int index)Inserts the specified object as a component in this vector at the specified index.
isEmpty()Tests if this vector has no components.
iterator()Returns an iterator over the elements in this list in a proper sequence.
lastElement()Returns the last component of the vector.
lastIndexOf(Object o)

Returns the index of the last occurrence of the specified element in this vector,

or -1 if this vector does not contain the element.

lastIndexOf(Object o, int index)Returns the index of the last occurrence of the specified element in this vector, searching backward from the index, or returns -1 if the element is not found.
listIterator()Returns a list iterator over the elements in this list (in proper sequence).
listIterator(int index)

Returns a list iterator over the elements in this list (in proper sequence),

starting at the specified position in the list.

remove(int index)Removes the element at the specified position in this Vector.
remove(Object o)Removes the first occurrence of the specified element in this Vector. If the Vector does not contain the element, it is unchanged.
removeAll(Collection<?> c)Removes from this Vector all of its elements contained in the specified Collection.
removeAllElements()Removes all components from this vector and sets its size to zero.
removeElement(Object obj)Removes the first (lowest-indexed) occurrence of the argument from this vector.
removeElementAt(int index)Deletes the component at the specified index.
removeIf(Predicate<? super E> filter)Removes all of the elements of this collection that satisfy the given predicate.

removeRange(int fromIndex,

int toIndex)

Removes from this list all of the elements whose index is between fromIndex, inclusive, and toIndex, exclusive.
replaceAll(UnaryOperator<E> operator)Replaces each element of this list with the result of applying the operator to that element.
retainAll(Collection<?> c)Retains only the elements in this Vector contained in the specified Collection.
set(int index, E element)Replaces the element at the specified position in this Vector with the specified element.
setElementAt(E obj, int index)Sets the component at the specified index of this vector to be the specified object.
setSize(int newSize)Sets the size of this vector.
size()Returns the number of components in this vector.
sort(Comparator<? super E> c)Sorts this list according to the order induced by the specified Comparator.
spliterator()Creates a late-binding and fail-fast Spliterator over the elements in this list.
subList(int fromIndex, int toIndex)Returns a view of the portion of this List between fromIndex, inclusive, and toIndex, exclusive.
toArray()Returns an array containing all of the elements in this Vector in the correct order.
toArray(T[] a)Returns an array containing all of the elements in this Vector in the correct order; the runtime type of the returned array is that of the specified array.
toString()Returns a string representation of this Vector, containing the String representation of each element.
trimToSize()Trims the capacity of this vector to be the vector’s current size.

Let us first discuss and implement how to create and use a Vector prior to landing upon the methods of this class.

Java
// Java Program to Demonstrate Working of Vector
// Via Creating and Using It
// Importing required classes
import java.io.*;
import java.util.*;

// Main class
class GFG {

    // Main driver method
    public static void main(String[] args)
    {
        // Size of the Vector
        int n = 5;

        // Declaring the Vector with
        // initial size n
        Vector<Integer> v = new Vector<Integer>(n);

        // Appending new elements at
        // the end of the vector
        for (int i = 1; i <= n; i++)
            v.add(i);

        // Printing elements
        System.out.println(v);

        // Remove element at index 3
        v.remove(3);

        // Displaying the vector
        // after deletion
        System.out.println(v);

        // iterating over vector elements
        // using for loop
        for (int i = 0; i < v.size(); i++)

            // Printing elements one by one
            System.out.print(v.get(i) + " ");
    }
}

Output
[1, 2, 3, 4, 5]
[1, 2, 3, 5]
1 2 3 5 

Note:

  • If the vector increment is not specified then it’s capacity will be doubled in every increment cycle.
  • The capacity of a vector cannot be below the size, it may equal to it.

Performing Various Operations on Vector class in Java

Let us discuss various operations on Vector class that are listed as follows:

  • Adding elements
  • Updating elements
  • Removing elements
  • Iterating over elements

Operation 1: Adding Elements

In order to add the elements to the Vector, we use the add() method. This method is overloaded to perform multiple operations based on different parameters. They are listed below as follows:

  • add(Object): This method is used to add an element at the end of the Vector.
  • add(int index, Object): This method is used to add an element at a specific index in the Vector.

Example:

Java
// Java Program to Add Elements in Vector Class

// Importing required classes
import java.io.*;
import java.util.*;

// Main class
// AddElementsToVector
class GFG {

    // Main driver method
    public static void main(String[] arg)
    {

        // Case 1
        // Creating a default vector
        Vector v1 = new Vector();

        // Adding custom elements
        // using add() method
        v1.add(1);
        v1.add(2);
        v1.add("geeks");
        v1.add("forGeeks");
        v1.add(3);

        // Printing the vector elements to the console
        System.out.println("Vector v1 is " + v1);

        // Case 2
        // Creating generic vector
        Vector<Integer> v2 = new Vector<Integer>();

        // Adding custom elements
        // using add() method
        v2.add(1);
        v2.add(2);
        v2.add(3);

        // Printing the vector elements to the console
        System.out.println("Vector v2 is " + v2);
    }
}

Output
Vector v1 is [1, 2, geeks, forGeeks, 3]
Vector v2 is [1, 2, 3]

 Output:

Console Output


Operation 2: Updating Elements

After adding the elements, if we wish to change the element, it can be done using the set() method. Since a Vector is indexed, the element which we wish to change is referenced by the index of the element. Therefore, this method takes an index and the updated element to be inserted at that index.

Example:

Java
// Java code to change the
// elements in vector class
import java.util.*; 

// Driver Class
public class UpdatingVector { 
      // Main Function
    public static void main(String args[]) 
    { 
        // Creating an empty Vector 
        Vector<Integer> vec_tor = new Vector<Integer>(); 

        // Use add() method to add elements in the vector 
        vec_tor.add(12); 
        vec_tor.add(23); 
        vec_tor.add(22); 
        vec_tor.add(10); 
        vec_tor.add(20); 

        // Displaying the Vector 
        System.out.println("Vector: " + vec_tor); 

        // Using set() method to replace 12 with 21 
        System.out.println("The Object that is replaced is: "
                        + vec_tor.set(0, 21)); 

        // Using set() method to replace 20 with 50 
        System.out.println("The Object that is replaced is: "
                        + vec_tor.set(4, 50)); 

        // Displaying the modified vector 
        System.out.println("The new Vector is:" + vec_tor); 
    } 
} 

Output
Vector: [12, 23, 22, 10, 20]
The Object that is replaced is: 12
The Object that is replaced is: 20
The new Vector is:[21, 23, 22, 10, 50]


Operation 3: Removing Elements

In order to remove an element from a Vector, we can use the remove() method. This method is overloaded to perform multiple operations based on different parameters. They are:

  • remove(Object): This method is used to remove an object from the Vector. If there are multiple such objects, then the first occurrence of the object is removed.
  • remove(int index): Since a Vector is indexed, this method takes an integer value which simply removes the element present at that specific index in the Vector. After removing the element, all the elements are moved to the left to fill the space and the indices of the objects are updated.

Example:

Java
// Java code illustrating the removal
// of elements from vector

import java.util.*;
import java.io.*;

class RemovingElementsFromVector {
  
    public static void main(String[] arg)
    {
        // Create default vector of capacity 10
        Vector v = new Vector();

        // Add elements using add() method
        v.add(1);
        v.add(2);
        v.add("Geeks");
        v.add("forGeeks");
        v.add(4);

        // Removing first occurrence element at 1
        v.remove(1);

        // Checking vector
        System.out.println("after removal: " + v);
    }
}

Output
after removal: [1, Geeks, forGeeks, 4]


Operation 4: Iterating the Vector

There are multiple ways to iterate through the Vector. The most famous ways are by using the basic for loop in combination with a get() method to get the element at a specific index and the advanced for a loop.

Example:

Java
// Java program to iterate the elements
// in a Vector

import java.util.*;

public class IteratingVector {

    public static void main(String args[])
    {
          // create an instance of vector
        Vector<String> v = new Vector<>();

          // Add elements using add() method
        v.add("Geeks");
        v.add("Geeks");
        v.add(1, "For");

        // Using the Get method and the
        // for loop
        for (int i = 0; i < v.size(); i++) {

            System.out.print(v.get(i) + " ");
        }

        System.out.println();

        // Using the for each loop
        for (String str : v)
            System.out.print(str + " ");
    }
}

Output
Geeks For Geeks 
Geeks For Geeks 

Note: Do give a read to the ArrayList vs Vector class in Java to grasp it better.

In Java, the Vector class is a part of the Java Collections Framework and provides a dynamic array implementation of the List interface. It was added in the original release of Java (Java 1.0) and provides a number of methods for manipulating the elements of a vector, including adding, inserting, and removing elements.

Note that the Vector class is synchronized, meaning that multiple threads can access the same vector without causing problems. However, this synchronization comes at the cost of performance, so if you don’t need to share a vector between multiple threads, it’s generally better to use an alternative class like ArrayList which is not synchronized.

Advantages of using Vector in Java

  • Synchronization: As mentioned before, Vector is synchronized, making it safe to use in a multi-threaded environment.
  • Dynamic Size: The size of a Vector can grow or shrink dynamically as elements are added or removed, so you don’t have to worry about setting an initial size that will accommodate all elements.
  • Legacy support: Vector has been part of Java since its inception and is still supported, so it’s a good option if you need to work with older Java code that uses Vector.

Disadvantages of using Vector in Java

  • Performance: The synchronization in Vector can lead to slower performance compared to other collection classes, such as ArrayList.
  • Legacy Code: While Vector is still supported, newer Java code is often written using the more modern collection classes, so it may be harder to find examples and support for Vector.
  • Unnecessary overhead: If you don’t need the synchronization features of Vector, using it will add unnecessary overhead to your code.

Reference Book:

A good reference book for learning about the Java Collections Framework and Vector is “Java Collections” by Naftalin and Wadler. This book provides a comprehensive look at the Java collections framework, including Vector, and includes many examples and exercises to help you understand how to use these classes effectively.



Similar Reads

What are the negative aspects of Java Stack class inheriting from Vector?
Java Vector: Vectors are analogous to arrays in a way that both of them are used to store data, but unlike an array, vectors are not homogeneous and don't have a fixed size. They can be referred to as growable arrays that can alter their size accordingly. It is relatively a memory-efficient way of handling lists whose size could change drastically.
2 min read
Java.lang.Class class in Java | Set 1
Java provides a class with name Class in java.lang package. Instances of the class Class represent classes and interfaces in a running Java application. The primitive Java types (boolean, byte, char, short, int, long, float, and double), and the keyword void are also represented as Class objects. It has no public constructor. Class objects are cons
15+ min read
Java.lang.Class class in Java | Set 2
Java.lang.Class class in Java | Set 1 More methods: 1. int getModifiers() : This method returns the Java language modifiers for this class or interface, encoded in an integer. The modifiers consist of the Java Virtual Machine's constants for public, protected, private, final, static, abstract and interface. These modifiers are already decoded in Mo
15+ min read
Vector clear() Method in Java
The Java.util.Vector.clear() method is used to remove all the elements from a Vector. Using the clear() method only clears all the element from the vector and does not delete the vector. In other words, we can say that the clear() method is used to only empty an existing vector. Syntax: Vector.clear() Parameters: The method does not take any parame
2 min read
Vector addAll() Method in Java
java.util.Vector.addAll(Collection C): This method is used to append all of the elements from the collection passed as a parameter to this function to the end of a vector keeping in mind the order of return by the collection's iterator. Syntax: boolean addAll(Collection C) Parameters: The method accepts a mandatory parameter C which is a collection
2 min read
Vector set() Method in Java
The Java.util.Vector.set() method is used to replace any particular element in the vector, created using the Vector class, with another element. Syntax: Vector.set(int index, Object element) Parameters: This function accepts two mandatory parameters as shown in the above syntax and described below. index: This is of integer type and refers to the p
2 min read
Vector isEmpty() Method in Java
The Java.util.Vector.isEmpty() method in Java is used to check and verify if a Vector is empty or not. It returns True if the Vector is empty else it returns False. Syntax: Vector.isEmpty() Parameters: This method does not take any parameter. Return Value: This function returns True if the Vectoris empty else it returns False. Below programs illust
2 min read
Vector lastIndexOf() Method in Java
The Java.util.Vector.lastIndexOf(Object element) method is used to check and find the occurrence of a particular element in the vector. If the element is present in the vector then the lastIndexOf() method returns the index of last occurrence of the element otherwise it returns -1. This method is used to find the last occurrence of a particular ele
2 min read
Vector addElement() Method in Java
The Java.util.Vector.addElement() method is used to append a specified element to the end of this vector by increasing the size of the vector by 1. The functionality of this method is similar to that of the add() method of Vector class.Syntax: boolean addElement(Object element) Parameters: This function accepts a single parameter element of object
2 min read
Vector subList() Method in Java
The java.util.Vector.subList() is used to return a sublist of the existing Vector within a range mentioned in the parameter. The method takes in an upper limit and a lower limit and returns all the elements mentioned in the range. The lower limit is included if the element is present in the list and the upper limit is excluded. Basically, it takes
3 min read
Vector add() Method in Java
boolean add(Object element): This method appends the specified element to the end of this vector. Syntax: boolean add(Object element) Parameters: This function accepts a single parameter element as shown in the above syntax. The element specified by this parameter is appended to end of the vector. Return Value: This method returns True after succes
2 min read
Vector capacity() Method in Java
The Java.util.Vector.capacity() method in Java is used to get the capacity of the Vector or the length of the array present in the Vector. Syntax: Vector.capacity() Parameters: The method does not take any parameter. Return Value: The method returns the capacity or the internal data array’s length present in the Vector, which is an integer value. B
2 min read
Vector contains() Method in Java
The java.util.vector.contains() method is used to check whether a specific element is present in the Vector or not. So basically it is used to check if a vector contains any particular element or not. Syntax: Vector.contains(Object element) Parameters: This method takes a mandatory parameter element which is of the type of vector. This is the eleme
2 min read
Vector containsAll() Method in Java
The java.util.vector.containsAll() method is used to check to check if this Vector contains all of the elements in the specified Collection. So basically it is used to check if a vector contains a set of elements or not. Syntax: Vector.containsAll(Collection col) Parameters: This method accepts a mandatory parameter col which is of the type of vect
2 min read
Vector copyInto() Method in Java
The java.util.vector.copyInto() method is used to copy all of the components from this vector to another array, having enough space to hold all of the components of the vector. It is to be noted that the index of the elements remains unchanged. The elements present in the array are replaced by the elements of the vector. Syntax: Vector.copyInto(Obj
2 min read
Vector indexOf() Method in Java
The java.util.vector.indexOf(Object element) method is used to check and find the occurrence of a particular element in the vector. If the element is present then the index of the first occurrence of the element is returned otherwise -1 is returned if the vector does not contain the element. Syntax: Vector.indexOf(Object element) Parameters: Elemen
3 min read
Vector get() Method in Java
The java.util.vector.get() method is used to fetch or retrieve an element at a specific index from a Vector. Syntax: Vector.get(int index) Parameters: This method accepts a mandatory parameter index which is of integer data type. It specifies the position or index of the element to be fetched from the Vector. Return Value: The method returns the el
2 min read
Vector elementAt() Method in Java
The java.util.vector.elementAt(int pos) method is used to fetch or retrieve an element at a specific index from a Vector. Syntax: Vector.elementAt(int pos) Parameters: This method accepts a mandatory parameter pos of integer data type that specifies the position or index of the element to be fetched from the Vector. Return Value: The method returns
2 min read
Vector elements() Method in Java
The java.util.vector.elements() method of Vector class in Java is used to get the enumeration of the values present in the Vector. Syntax: Enumeration enu = Vector.elements() Parameters: The method does not take any parameters. Return value: The method returns an enumeration of the values of the Vector. Below programs are used to illustrate the wor
2 min read
Vector equals() Method in Java
The java.util.vector.equals(Object obj) method of Vector class in Java is used verify the equality of an Object with a vector and compare them. The list returns true only if both Vector contains same elements with same order. Syntax: first_vector.equals(second_vector) Parameters: This method accepts a mandatory parameter second_vector which refers
2 min read
Vector size() Method in Java
The java.util.vector.size() method in Java is used to get the size of the Vector or the number of elements present in the Vector. Syntax: Vector.size() Parameters: The method does not take any parameter. Return Value: The method returns the size or the number of elements present in the Vector. Below programs illustrate the Java.util.Vector.size() m
2 min read
Vector hashCode() Method in Java
The java.util.vector.hashCode() method in Java is used to get the hashcode value of this vector. Syntax: Vector.hashCode() Parameters: The method does not take any parameter. Return Value: The method returns hash code value of this Vector which is of Integer type. Below programs illustrate the Java.util.Vector.hashCode() method: Program 1: Vector w
2 min read
Vector insertElementAt() Method in Java with Examples
insertElementAt() method of Vector class present inside java.util package is used to insert a particular element at the specified index of the Vector. Both the element and the position are passed as the parameters. If an element is inserted at a specified index, then all the elements are pushed upward by one and hence the capacity is increased, cre
3 min read
Vector firstElement() Method in Java
The java.util.vector.firstElement() method in Java is used to retrieve or fetch the first element of the Vector. It returns the element present at the 0th index of the vector Syntax: Vector.firstElement() Parameters: The method does not take any parameter. Return Value: The method returns the first element present in the Vector. Below programs illu
2 min read
Vector lastElement() Method in Java
The java.util.vector.lastElement() method in Java is used to retrieve or fetch the last element of the Vector. It returns the element present at the last index of the vector. Syntax: Vector.lastElement() Parameters: The method does not take any parameter. Return Value: The method returns the last element present in the Vector. Below programs illust
2 min read
Vector removeAll() Method in Java
The java.util.vector.removeAll(Collection col) method is used to remove all the elements from the vector, present in the collection specified. Syntax: Vector.removeAll(Collection col) Parameters: This method accepts a mandatory parameter col which is the collection whose elements are to be removed from the vector. Return Value: This method returns
2 min read
Vector remove() Method in Java
remove(int index) The java.util.vector.remove(int index) method is used to remove an element from a Vector from a specific position or index. Syntax: Vector.remove(int index) Parameters: This method accepts a mandatory parameter index is of integer data type and specifies the position of the element to be removed from the Vector. Return Value: This
2 min read
Vector removeElementAt() Method in Java
The java.util.vector.removeElementAt(int index) method is used to remove an element from a Vector from a specific position or index. In this process the size of the vector is automatically reduced by one and all other elements after the removed element are shifted downwards by one position. Syntax: Vector.removeElementAt(int index) Parameters: This
2 min read
Vector clone() Method in Java with Examples
The clone() method of the Vector class is used to return a shallow copy of this vector provided by the Object class. It just creates a copy of the vector. The copy will have a reference to a clone of the internal data array but not a reference to the original internal data array. Syntax: Vector.clone() Parameters: The method does not take any param
3 min read
Vector toArray() Method in Java with Examples
1. toArray() The toArray() method of Vector class in Java is used to form an array of the same elements as that of the Vector. Basically, it copies all the element from a Vector to a new array. Syntax: Object[] arr = Vector.toArray() Parameters: The method does not take any parameters. Return Value: The method returns an array containing elements s
5 min read