Вставить в любой позиции в 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).

Почему я не могу вставить объекты в любую позицию, если их индекс меньше емкости? Размер всегда равен количеству вставленных элементов?

Ответы на вопрос(6)

Ваш ответ на вопрос