HudaTutorials.com

java.util.Vector Class in Java - java util Vector Class

Last updated on

java util Vector Class

Vector Class in Java

Java Vector Class

The Java Vector class implements a growable array of objects. Vectors basically falls in legacy classes but now it is fully compatible with collections. Vector class implements a dynamic array that means it can grow or shrink as required. Like an array, it contains components that can be accessed using an integer index. However, the size of a Vector can grow or shrink as needed to accommodate adding and removing items after the Vector has been created.

Each vector tries to optimize storage management by maintaining a capacity and a capacityIncrement. The capacity is always at least as large as the vector size; it is usually larger because as components are added to the vector, the vector's storage increases in chunks the size of capacityIncrement. An application can increase the capacity of a vector before inserting a large number of components; this reduces the amount of incremental reallocation.

The Iterators returned by Vector's iterator and listIterator methods are fail-fast: if the Vector is structurally modified at any time after the Iterator is created, in any way except through the Iterator's own remove or add methods, the Iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the Iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future. The Enumerations returned by Vector's elements methods are not fail-fast.

Is Vector Class Thread Safe ?

As of the Java 2 platform v1.2, this class was retrofitted to implement the List interface, making it a member of the Java Collections Framework. Unlike the new collection implementations, Vector is synchronized. If a thread-safe implementation is not needed, it is recommended to use ArrayList in place of Vector.

Note that the fail-fast behavior of an iterator cannot be guaranteed as it is, generally speaking, impossible to make any hard guarantees in the presence of unsynchronized concurrent modification. Fail-fast iterators throw ConcurrentModificationException on a best-effort basis. Therefore, it would be wrong to write a program that depended on this exception for its correctness: the fail-fast behavior of iterators should be used only to detect bugs.

Following Vector class example you can learn about java.util.Vector class and its examples. And also learn how to use java.util.Vector class.

java.util.Vector Class Example

/*	Java Vector Class Example
	Save with file name VectorExample.java	*/
public class VectorExample
{
	public static void main(String args[])
	{
		// java.util.Vector DECLARATION
		java.util.Vector v;
		// java.util.Vector OBJECT CREATION
		// USING DEFAULT CONSTRUCTOR
		v = new java.util.Vector();
		// RETURNS Vector CAPACITY
		System.out.println("Vector Capacity : " + v.capacity());
		// ADD AN ELEMENT
		v.add(new Integer(117));
		// ADD ANOTHER ELEMENT
		v.addElement(new Boolean(false));
		// ADD ANOTHER ELEMENT AT SPECIFIED INDEX
		v.add(0, "First Element");
		// RETURNS COUNT OF ELEMENTS Vector CONTAINS
		System.out.println("Elements Count : " + v.size());
		// Vector CAPACITY AFTER ELEMENT ADD
		System.out.println("Vector Capacity : "	+ v.capacity());
		// java.util.Vector OUTPUT
		for(int i=0;i<v.size();i++)
		{
			System.out.println("Element At "+ i + " : " + v.elementAt(i));
		}
		// CLEARS ALL THE ELEMENTS Vector CONTAINS
		v.clear();
		// RETURNS COUNT OF ELEMENTS Vector CONTAINS
		System.out.println("Elements Count After Clear : " + v.size());
	}
}

java.util.Vector Class Example 2

/*	Java Vector Class Example 2
	Save with file name VectorExample2.java	*/
public class VectorExample2
{
	public static void main(String args[])
	{
		// java.util.Vector DECLARATION
		java.util.Vector v;
		// java.util.Vector OBJECT CREATION
		// USING PARAMETOR CONSTRUCTOR
		v = new java.util.Vector(3);
		// RETURNS Vector CAPACITY
		System.out.println("Vector Capacity : " + v.capacity());
		// ADD AN ELEMENT
		v.add(new Integer(117));
		// ADD ANOTHER ELEMENT
		v.addElement(new Boolean(false));
		// ADD ANOTHER ELEMENT
		v.add("String Element1");
		// ADD ANOTHER ELEMENT
		v.add(new String("String Element2"));
		// java.util.Vector OUTPUT
		for(int i=0;i<v.size();i++)
		{
			System.out.println("Element At "+ i + " : " + v.elementAt(i));
		}
		// CHECK Vector IS EMPLY
		System.out.println("is Empty : " + v.isEmpty());
		// RETURNS FIRST ELEMENT
		System.out.println("First Element : " + v.firstElement());
		// RETURNS LAST ELEMENT
		System.out.println("Last Element : " + v.lastElement());
		// CHECK ELEMENT CONTAINED IN Vector
		System.out.println("Elements Contained : " + v.contains("String Element2"));
		// GET THE ELEMENT AT INDEX IN Vector
		System.out.println("Element at Second Position : " + v.get(1));
	}
}

java.util.Vector Class Example 3

/*	Java Vector Class Example 3
	Save with file name VectorExample3.java	*/
public class VectorExample3
{
	public static void main(String args[])
	{
		// java.util.Vector DECLARATION
		java.util.Vector v;
		// java.util.Vector OBJECT CREATION
		// USING DEFAULT CONSTRUCTOR
		v = new java.util.Vector();
		// ADD 10 ELEMENTS TO Vector
		for(int i=0;i<10;i++)
		{
			v.add("Element " + (i+1));
		}
		// java.util.Vector OUTPUT
		printElements(v.elements());
		// INDEX OF ELEMENT
		System.out.println("Index of Element 2 : " + v.indexOf("Element 2"));
		// INSERT ELEMENT
		v.insertElementAt(new String("Element 2"), 4);
		// INDEX OF ELEMENT
		System.out.println("Last Index of Element 2 : " + v.lastIndexOf("Element 2"));
		printElements(v.elements());
		// REMOVE ELEMENT
		v.removeElement("Element 2");
		printElements(v.elements());
	}
	// FUNCTION TO PRINT THE ELEMENTS OF Vector
	public static void printElements(java.util.Enumeration e)
	{
		while(e.hasMoreElements())
		{
			System.out.println(e.nextElement());
		}
	}
}