Если вы используете реализацию java.util.List
вместо массива, размер массива уменьшается при каждом удалении чего-либо, и элемент n+1
заменяет элемент n
. Этот код в конечном итоге приведет к ArrayIndecOutOfBoundsException
, когда n
станет Greated, чем последний индекс в списке.
Java также имеет тип массива, размер которого нельзя изменить:
Object[] mapOverlay = //initialize the array here
int size = mapOverlay.length;
for(int n=1;n<size;n++)
{
mapOverlay[n] = null;
}
Я не знаю PHP, но звучит так, будто он близок к вашему поведению. Однако реализации List более гибкие и удобные в использовании, чем массивы.
РЕДАКТИРОВАТЬ: Вот ссылка на Javadoc List.remove(int)
: http://java.sun.com/javase/6/docs/api/java/util/List.html#remove%28int%29