public Object remove(int index){
  RangeCheck(index);
  modCount++;
  Object oldValue=elementData[index];
  int numMoved=size - index - 1;
  if (numMoved > 0)   System.arraycopy(elementData,index + 1,elementData,index,numMoved);
  elementData[--size]=null;
  return oldValue;
}

public Object remove ( int index ) { RangeCheck ( index ) ; modCount ++ ; Object oldValue = elementData [ index ] ; int numMoved = size - index - 1 ; if ( numMoved > 0 ) System . arraycopy ( elementData , index + 1 , elementData , index , numMoved ) ; elementData [ -- size ] = null ; return oldValue ; }
removes the element at the specified position in this list . shifts any subsequent elements to the left ( subtracts one from their indices ) .
