Vector is an obsolete Collection

DeWy Sady picture DeWy Sady · May 16, 2015 · Viewed 7.2k times · Source

The Inspection reports any uses of java.util.Vector or java.util.hashtable. While still supported, these classes were made obsolete by the JDK 1.2 Collection classes and should probably not be used in new Development....

I have a project in Java which uses Everywhere, and I'm using JDK 8 which is the latest one. I want to know if I can run that application on latest java.

And tell if i can use some other keyword for ArrayList like Vector for new java.

Answer

Mureinik picture Mureinik · May 16, 2015

First of all, although Vector is mostly obsoleted by ArrayList, it is still perfectly legal to use, and your project should run just fine.

As noted, however, it is not recommended to use. The main reason for this is that all of its methods are synchronized, which is usually useless and could considerably slow down your application. Any local variable that's not shared outside the scope of the method can safely be replaced with an ArrayList. Method arguments, return values and data members should be inspected closely before being replaced with ArrayList, lest you unwittingly change the synchronization semantics and introduce a hard-to-discover bug.