public
synchronized void ensureCapacity(int minCapacity)
Increases
the capacity of this vector.
If
currentCapacity is less than minCapacity, then current Capacity is
incremented with capacityIncrement if capacityIncrement >0 else
doubled, I.e,
currentCapacity
=currentCapacity+ capacityIncrement(if capacityIncrement >0)
= 2* currentCapacity (else)
if
the newly calculated currentCapacity is less than minCapacity, then
currentCapacity is set to minCapacity.
import java.util.*; class VectorEnsureCapacity{ public static void main(String args[]){ Vector<String> myVector; myVector = new Vector<> (5, 4); /* Add Elements to myVector */ for(int i=1; i<6; i++) myVector.add("String " +i); System.out.println("Capacity Of myVector is"); System.out.println(myVector.capacity()); System.out.println("\nSetting Capacity of vector to 10"); myVector.ensureCapacity(10); System.out.println("Capacity Of myVector is"); System.out.println(myVector.capacity()); System.out.println("\nSetting Capacity of vector to 11"); myVector.ensureCapacity(11); System.out.println("Capacity Of myVector is"); System.out.println(myVector.capacity()); } }
Output
Capacity Of myVector is 5 Setting Capacity of vector to 10 Capacity Of myVector is 10 Setting Capacity of vector to 11 Capacity Of myVector is 14
As
you observe the output, Program sets the capacity to 11, but
capacity() returns 14.
currentCapacity
is less than minCapacity, then current Capacity is incremented with
capacityIncrement
currentCapacity
= currentCapacity + capacityIncrement
= 10 + 4
= 14
if
the newly calculated currentCapacity is less than minCapacity, then
currentCapacity is set to minCapacity. Here currentCapacity is 14
which is greater than minCapacity 11, So currentCapacity set to 14.
No comments:
Post a Comment