Vectors (the java.util.Vector class) are commonly used instead of arrays, because they expand automatically when new data is added to them. The Java 2 Collections API introduced the similar ArrayList data structure. ArrayLists are unsynchronized and therefore faster than Vectors, but less secure in a multithreaded environment. The Vector class was changed in Java 2 to add the additional methods supported by ArrayList.
Vectors can hold only Objects and not primitive types (eg, int). If you want to put a primitive type in a Vector, put it inside an object i.e, Wrapping
Creation of Vectors
Import either import java.util.Vector; or import java.util.*;. Vectors are implemented with an array, and when that array is full and an additional element is added, a new array must be allocated. Because it takes time to create a bigger array and copy the elements from the old array to the new array, it is a little faster to create a Vector with a size that it will commonly be when full. Of course, if you knew the final size, you could simply use an array. However, for non-critical sections of code programmers typically don't specify an initial size.
A Vector is can be created with the help three constructors
- Vector(): creates a vector with default size and grow size ie., 10
- Vector(int size): creates a vector with specified size and default grow size as 10.
- Vector(int size, inr growsize): creates a vector with specified size specified grow size as 10.
Vector V1=new Vector ();
Vector V2=new Vector(3);
Vector V3=new Vector (5,2);
Benefits of Vector over Array
- Vector stores different type of items
- Vector can be grown at run time
- Vector can be shrinked run time
Methods of Vector class
- int capacity(): This method returns the current capacity of the vector.
- int size(): It returns the current size of the vector.
- void addElement(Object element): It inserts the element at the end of the Vector.
- void setElementAt(Object element, int index): It updates the element of specifed index with the given element.
- boolean removeElement(Object element): Removes the specifed element from vector.
- boolean removeElementAt(int pos): Removes the element at the specified position from vector.
- boolean removeAllElements(): Removes All elements from vector.
- Object get(int index): Returns the element at the specified index.
- boolean isEmpty(): This method returns true if Vector doesn’t have any element.
- int indexOf(Object element): returns the first occurrence of the specified object in the Vector
- int lastIndexOf(Object element): returns the last occurrence of the specified object in the Vector
- void copyInto(Object  array): copies all the elements form the vector to an object array.
- void trimToSize():Trims the capacity of this vector to be the vector's current size.
- void setSize(int size): It changes the existing size with the specified size.
Elements of vector can be printed in many ways. Most commonly used methods are
- Using a for loop
for(int i=0; i<v.size();i++)
- Using a for each loop
for(Object value : v)
- Directly printing the vector