How does Vector implement synchronization?
Answer Posted / azad bajaj
Almost all the methods in the Vector class are synchronized.
All the methods which either change (read or write) the
values, or change the size or the change the capacity of
the vector.
example method:
public synchronized void setElementAt(E obj, int index) {
if (index >= elementCount) {
throw new ArrayIndexOutOfBoundsException
(index + " >= " + elementCount);
}
elementData[index] = obj;
}
or
public synchronized void removeElementAt(int index) {
modCount++;
if (index >= elementCount) {
throw new ArrayIndexOutOfBoundsException
(index + " >= " +
elementCount);
}
else if (index < 0) {
throw new ArrayIndexOutOfBoundsException
(index);
}
int j = elementCount - index - 1;
if (j > 0) {
System.arraycopy(elementData, index + 1,
elementData, index, j);
}
elementCount--;
elementData[elementCount] = null; /* to let gc
do its work */
}
Is This Answer Correct ? | 5 Yes | 1 No |
Post New Answer View All Answers
What is the output of the below java program?
Define iterator and methods in iterator?
How do you create immutable object in java?
Can we increase array size dynamically in java?
What is getkey () in java?
What is difference between static and final?
What are the methods used to implement for the key object in the hash map?
Explain the difference between abstraction and encapsulation.
What is the tradeoff between using an unordered array versus an ordered array?
How arrays are stored in memory in java?
What is a local, member and a class variable?
Difference between serialization and deserialization in java?
How do you include a string in java?
How to call one constructor from the other constructor ?
Can we assign null to double in java?