Home Java Java-tips Data Collections_non_generic 20lists Old and New Vector Methods

Ask Questions?

View Latest Questions


 
 

Old and New Vector Methods
Posted on: July 26, 2006 at 12:00 AM
The Vector class was updated to implement the List interface.

Java: Old and New Vector Methods

When the new Collections API was introduced in Java 2 to provide uniform data structure classes, the Vector class was updated to implement the List interface. Use the List methods because they are common to other data structure. If you later decide to use something other than a Vector (eg, ArrayList, or LinkedList, your other code will not need to change.

Even up thru the first several versions of Java 2 (SDK 1.4), the language had not entirely changed to use the new Collections methods. For example, the DefaultListModel still uses the old methods, so if you are using a JList, you will need to use the old method names. There are hints that they plan to change this, but still and interesting omission.

Replacements for old methods

The following methods have been changed from the old to the new Vector API.
Old MethodNew Method
void addElement(Object) boolean add(Object)
void copyInto(Object[]) Object[] toArray()
Object elementAt(int) Object get(int)
Enumeration elements() Iterator iterator()ListIterator listIterator()
void insertElementAt(Object, int)void add(index, Object)
void removeAllElements() void clear()
boolean removeElement(Object)boolean remove(Object)
void removeElementAt(int) void remove(int)
void setElementAt(int) Object set(int, Object)

Insuring use of the new API

When you create a Vector, you can assign it to a List (a Collections interface). This will guarantee that only the List methods are called.
Vector v1 = new Vector();  // allows old or new methods.
List   v2 = new Vector();  // allows only the new (List) methods.
Cop