Согласно документации, вы можете вставлять объекты в любую позицию в списке:
Пользователь этого интерфейса имеет точный контроль над тем, где в списке должен быть вставлен каждый элемент .
(источник: http://download.oracle.com/javase/6/docs/api/java/util/List.html )
Но следующая программа выдает ошибку IndexOutOfBoundsException. :
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList myList = new ArrayList();
myList.add(0, "derp");
myList.add(2, "herp");
for (String s : myList) {
System.out.println("Le string: " + s);
}
}
}
Это также не помогает явно установить начальную емкость (что имеет некоторый смысл, поскольку значение по умолчанию - 10).
Почему я не могу вставлять объекты в любую позицию, если ее индекс ниже, чем емкость? Всегда ли размер равен количеству вставленных элементов?