Java – Vectors

Vectors in Java

We have already discussed ArrayLists and  LinkedList. We also discussed difference between ArrayList and Lists in Java.

I suggest you review them:

 

However, today, we would learn about Vectors. You use the Vector class to implement a dynamic array in Java. Similar to ArrayLists, Vectors also derives from the List class.

But unlike ArrayLists:

  • Vector contains additional methods not in collection framework
  • Vectors are synchronized (they are thread-safe)

 

How to Create a vector

Similar to how you create an ArrayList, you can also create a vector using its constructor. Example is given below.

	Vector vector1 = new Vector();
	Vector<String> vector2 = new Vector<String>();		

The first line creates a vector of objects while the second line creates a vector of Strings.

 

You can as well use any of the constructor listed below

SN Constructor and brief description
1. Vector( )

Creates a vector of initial size of 10. The default data type is object. We already used this

2 Vector(int size)

Accepts a parameter of the  initial size of the vector . Then creates a vector whose initial capacity is the given size

3 Vector(int size, int incr)

Creates a vector whose initial capacity is specified by size and whose increment is specified by incr. The increment specifies number of elements to allocate any time the  vector is resized upward.

4 Vector(Collection c)

This constructor creates a vector from  the elements of collection c. So the elements of the collection would be transferred to the new vector.

 

The program below creates a vector of Strings, vector2.
Then uses the add() method to add 3 strings to the vector
Finally uses an enhanced for loop to print out the elements of the vector

 

import java.util.Vector;

public class VectorDemo {

   public static void main(String[] args) {

	Vector<String> vector2 = new Vector<String>();	
	vector2.add("Kindson");
	vector2.add("Saffon");
	vector2.add("Oleander");
		
	for (String element :vector2) {
		System.out.println(element);
	}

   }
}
	

I would then provide a list of methods available in a vector class. You can therefore use these methods to perform any kind of operations on a vector.

SN. Method and brief description
1 add(int index, Object element)

Inserts the specified element at the position(given by index) in this Vector.

2 add(Object o)

Adds an  element to the end of the Vector.

3 boolean addAll(Collection c)

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

4 addAll(int index, Collection c)

Copies all of the elements in in the given Collection c, into the Vector at the specified index.

5 addElement(Object obj)

Adds the specified component to the end of this vector, increasing its size of the vector by one.

6 int capacity()

You use this to get the capacity of the Vector

7 clear()

Deletes all of the elements of the vector.

8 clone()

Returns a clone of the vector as an object

9 contains(Object elem)

Checks if the given object is an element in the vector.

10 containsAll(Collection c)

Checks if the vector contains all of the elements in the given Collection. Returns true if yes. Otherwise, returns false.

11 copyInto(Object[] anArray)

Copies the elements of this vector into the given array.

12 elementAt(int index)

Returns the element at the given index.

13 Enumeration elements()

Used to returns an enumeration of the elements of the vector.

14 ensureCapacity(int minCapacity)

Used to increase the capacity of the vector to the capacity specified by minCapacity

15 equals(Object o)

Uses to check is the vector and the spefied object are equal

16 firstElement()

Used to return the first component (the item at index 0) of this vector.

17 get(int index)

Used to return the element at the specified position in this vector.

18 hashCode()

Used to return the hash code value for this vector.

19 indexOf(Object elem)

Searches for the first occurrence of the specified parameter, checking for equality using the equals method.

20 indexOf(Object elem, int index)

Searches for the first occurrence of the specified parameter, beginning at index, and checking for equality using the equals method.

21 insertElementAt(Object obj, int index)

Inserts the given object as a component in this vector at the given index.

22 isEmpty()

Checks if this vector is empty. Returns true if the vector is empty. Returns false if othewise

23 lastElement()

Used to return to return  the last element of the vector.

24 lastIndexOf(Object elem)

Used to return the index of the last occurrence of the specified object in the vector.

25 lastIndexOf(Object elem, int index)

Searches backwards for the given object, beginning at the specified index, and returns an index the element.

26 remove(int index)

Removes the particular element at the specified index in the vector.

27 remove(Object o)

Removes the first occurrence of the given element from  the vector, If the vector does not contain the element, it is unchanged.

28 removeAll(Collection c)

Removes from this vector all of its elements that are contained in the given Collection

29 removeAllElements()

Takes out all of the  elements  of this vector and sets its size to zero.

30 removeElement(Object obj)

Removes the first occurrence of the specified  argument from this vector.

31 removeElementAt(int index)

Removes element at the given index from the Vector

32 removeRange(int fromIndex, int toIndex)

Removes all of the elements in the vector  from fromIndex, inclusive and toIndex, exclusive.

33 retainAll(Collection c)

Retains only the elements in this vector that are contained in the given Collection.

34 set(int index, Object element)

Use this to replace the element at the specified position in the vector with the specified element.

35 setElementAt(Object obj, int index)

Sets the element at the specified index of the vector to be the given object.

36 setSize(int newSize)

Sets the size of the vector to the newSize

37 int size()

Used to return  the number of components in this vector.

38 subList(int fromIndex, int toIndex)

Used to return  a  subList of the vector between fromIndex, inclusive, and toIndex, exclusive.

39 Object[] toArray()

Used to return  an object array containing all of the items in the vector in the correct order.

40 Object[] toArray(Object[] a)

Used to return an object array containing all of the item in the vector in the correct order; the runtime type of the returned array is that of the given array.

41 String toString()

Used to return  a string representation of the vector, containing the String representation of each of the element.

42 void trimToSize()

Reduces the capacity of this vector down to  the vector’s current size.

Table 1.1: Methods in the Vector Class

 

Below is a program that illustrates how to use some of the methods listed above. I recommend you run this code yourself. Also try  to use other methods to see how they work.

 

import java.util.ArrayList;
import java.util.Vector;

public class VectorDemo2 {

	public static void main(String[] args) {

		Vector<String> vector2 = new Vector<String>();	
		vector2.add("Kindson");
		vector2.add("Saffon");		
		
		for (String element :vector2) {
			System.out.println(element);
		}
		
		System.out.println("Current Size: " + vector2.size());
		System.out.println("Current Capacity: " + vector2.capacity());
		
		vector2.ensureCapacity(25);
		
		System.out.println("New Size: " + vector2.size());
		System.out.println("New Capacity: " + vector2.capacity());		
		
		vector2.addElement("Oleander");
		
		System.out.println(vector2.isEmpty());
	}
}

Program to demonstrate use or Vector Methods