Вы, вероятно, должны использовать ArrayList вместо Vector по причинам, объясненным в других ответах.
Однако ...
Я пытался использовать Vector, но это сдвигает все элементы, когда вы делаете вставку, и мне нужен массив, который может расти, но элементы остаются на месте.
Когда вы делаете insertElementAt(pos, elem)
, у вас специально запрашивается смещение элемента. Если вы не хотите, чтобы элементы были смещены, вы должны использовать set(pos, elem)
. Или, если вы хотите добавить элемент в конце вектора, вы также можете использовать add(elem)
.
Между прочим, предыдущий абзац применяется ко всем реализациям List
, а не только к Vector
, хотя детали реализации и производительность варьируются в зависимости от различных типов List
.