/**
* This implements the expansion semantics of ensureCapacity with no
* size check or synchronization.
*/voidexpandCapacity(int minimumCapacity){int newCapacity =(value.length +1)*2;if(newCapacity <0){
newCapacity = Integer.MAX_VALUE;}elseif(minimumCapacity > newCapacity){
newCapacity = minimumCapacity;}
value = Arrays.copyOf(value, newCapacity);}
/**
* Returns a capacity at least as large as the given minimum capacity.
* Returns the current capacity increased by the same amount + 2 if
* that suffices.
* Will not return a capacity greater than {@code MAX_ARRAY_SIZE}
* unless the given minimum capacity is greater than that.
*
* @param minCapacity the desired minimum capacity
* @throws OutOfMemoryError if minCapacity is less than zero or
* greater than Integer.MAX_VALUE
*/privateintnewCapacity(int minCapacity){// overflow-conscious codeint newCapacity =(value.length <<1)+2;if(newCapacity - minCapacity <0){
newCapacity = minCapacity;}return(newCapacity <=0|| MAX_ARRAY_SIZE - newCapacity <0)?hugeCapacity(minCapacity): newCapacity;}