Вставить в любой позиции в java.util.List
Согласно документам вы можете вставлять объекты в любую позицию в списке:
Пользователь этого интерфейса имеет точный контроль над тем, где в списке каждый элемент вставлен.
(источник: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<String> myList = new ArrayList<String>();
myList.add(0, "derp");
myList.add(2, "herp");
for (String s : myList) {
System.out.println("Le string: " + s);
}
}
}
Это также не помогает установить начальную емкость явно (что имеет некоторый смысл, так как значение по умолчанию равно 10).
Почему я не могу вставить объекты в любую позицию, если их индекс меньше емкости? Размер всегда равен количеству вставленных элементов?