public void removeElementAt(int i){
  if (null == m_map)   return;
  if (i >= m_firstFree)   throw new ArrayIndexOutOfBoundsException(i + " >= " + m_firstFree);
 else   if (i < 0)   throw new ArrayIndexOutOfBoundsException(i);
  if (i < m_firstFree - 1)   System.arraycopy(m_map,i + 1,m_map,i,m_firstFree - i - 1);
  m_firstFree--;
  m_map[m_firstFree]=null;
}

public void removeElementAt ( int i ) { if ( null == m_map ) return ; if ( i >= m_firstFree ) throw new ArrayIndexOutOfBoundsException ( i + " >= " + m_firstFree ) ; else if ( i < 0 ) throw new ArrayIndexOutOfBoundsException ( i ) ; if ( i < m_firstFree - 1 ) System . arraycopy ( m_map , i + 1 , m_map , i , m_firstFree - i - 1 ) ; m_firstFree -- ; m_map [ m_firstFree ] = null ; }
deletes the component at the specified index . each component in this vector with an index greater or equal to the specified index is shifted downward to have an index one smaller than the value it had previously .
