Parameters
|
ArrayList
|
Vector
|
Synchronization
|
|
Synchronized
|
Data Growth Methods
|
When we insert an
element into an ArrayList or a Vector, the object will need to expand its internal
array if it runs out of room. ArrayList increases
its array size by 50 percent.
newCapacity = (oldCapacity
* 3)/2 + 1;
|
A Vector defaults to doubling the size of its
array.
newCapacity = (capacityIncrement > 0) ?
(oldCapacity + capacityIncrement) : (oldCapacity * 2)
|
Default Size
|
Constructs an empty list with an initial capacity of 10.
|
Constructs an empty vector with internal data array size
of 10 and its standard capacity increment is zero.
|
Traversal
|
Uses Iterator which are
are fail-fast. i.e.
when one thread changes the collection by add / remove operations , while
another thread is traversing it through an Iterator using hasNext() or next() method, the iterator fails quickly by
throwing ConcurrentModificationException . The fail-fast behavior of iterators can
be used to detect bugs.
|
Uses Iterator/Enumerator. The Enumerations returned by the methods of classes
like Hashtable, Vector are not fail-fast that is achieved by synchronizing
the block of code inside the nextElement()method
that locks the current Vector object which costs lots of time.
|
Sunday, May 26, 2013
Array List Vs Vector
Subscribe to:
Posts (Atom)