Legacy Classes in java

Legacy Classes in java
java programming and c, c++, Matlab, Python, HTML, CSS programming language, and new techniques news and any history.

Legacy Classes

An early version of Java did not include the Collection framework. It only defined several classes and interface that provide a method for storing objects. When Collection framework was added in J2SE 1.2, the original classes were re-engineered to support the collection interface. These classes are also known as Legacy classes. All legacy classes and interface were redesigns by JDK 5 to support Generics.
Legacy Classes

The following are the legacy classes defined by java.util package
  1. Dictionary
  2. HashTable
  3. Properties
  4. Stack
  5. Vector
There is only one legacy interface called Enumeration
NOTE: All the legacy classes are a syncronized

Enumeration interface

  1. Enumeration interface defines a method to enumerate through a collection of object.
  2. This interface is suspended by Iterator interface.
  3. However, some legacy classes such as Vector and Properties defines several methods in which Enumeration interface is used.
  4. It specifies the following two methods
    boolean hasMoreElements()
    
    Object nextElement()
    

Vector class

  1. Vector is similar to ArrayList which represents a dynamic array.
  2. The only difference between Vector and ArrayList is that Vector is synchronized while Array is not.
  3. Vector class has following four constructor
    Vector()
    
    Vector(int size)
    
    Vector(int size, int incr)
    
    Vector(Collection< ? extends E> c)
    
Vector defines several legacy methods. Let's see some important legacy method define by Vector class.
MethodDescription
addElement()add element to the Vector
elementAt()return the element at specified index
elementsreturn an enumeration of element in vector
firstElement()return first element in the Vector
lastElement()return last element in the Vector
removeAllElement()remove all element of the Vector

Example of Vector

import java.util.*;
public class Test 
{
  public static void main(String[] args) 
   {
      Vector ve = new Vector();
       ve.add(10);
       ve.add(20);
       ve.add(30);
       ve.add(40);
       ve.add(50);
       ve.add(60);
       
       Enumeration en = ve.elements(); while(en.hasMoreElements())
       {
           System.out.println(en.nextElement());
       }
   }
    
}
Output :
10
20
30
40
50
60

Hashtable class

  1. Like HashMap, Hashtable also stores key/value pair in hashtable. However neither keys nor values can be null.
  2. There is one more difference between HashMap and Hashtable that is Hashtable is synchronized while HashMap is not.
  3. Hashtable has following four constructor
    Hashtable()
    Hashtable(int size)
    Hashtable(int size, float fillratio)
    Hashtable(Map< ? extends K, ? extends V> m)

Example of Hashtable

import java.util.*;
class HashTableDemo
{
 public static void main(String args[])
 {
  Hashtable< String,Integer> ht = new Hashtable< String,Integer>();
  ht.put("a",new Integer(100));
  ht.put("b",new Integer(200));
  ht.put("c",new Integer(300));
  ht.put("d",new Integer(400));

  Set st = ht.entrySet();
  Iterator itr=st.iterator();
  while(itr.hasNext())
  {
   Map.Entry m=(Map.Entry)itr.next();
   System.out.println(itr.getKey()+" "+itr.getValue());
  }
 }
}
Output:
a 100
b 200
c 300
d 400





































































Comments