Ecco il codice sorgente:Questo snippet non è necessario nel codice sorgente di Arraylist.remove (int index)?
Rimuove l'elemento nella posizione specificata in questo elenco. Sposta tutti gli elementi successivi a sinistra (sottrae uno dai loro indici). Parametri: index l'indice dell'elemento da essere rimosso Restituisce: l'elemento che è stato rimosso dalla lista Produce: java.lang.IndexOutOfBoundsException
public E remove(int index) {
rangeCheck(index);
modCount++;
E oldValue = elementData(index);
int numMoved = size - index - 1;
if (numMoved > 0)
System.arraycopy(elementData, index+1, elementData, index,
numMoved);
elementData[--size] = null; // Let gc do its work
return oldValue;
}
La mia domanda è:
Come il rangeCheck(index) ha già garantito che indice < dimensioni, è necessario verificare che if (numMoved > 0)
?