public static void main (String[] args) {
Vector <Integer> v = new <Integer> Vector();
v.add(1);
v.add(2);
v.add(3,3); // this doesn't work
int x = v.elementAt(3);
System.out.println(x);
}
上面的v.add(3,3)产生错误,我想在索引0,1中附加元素并跳到3,但为什么会产生错误? Vector中不允许这样做吗?
谢谢
答案 0 :(得分:1)
正确:如果您尝试添加超出数组末尾,则不允许在特定索引处添加。见the documentation for add()。您首先需要致电setSize()以腾出空间。
v.setSize(4);
v.add(3,3)
应该有用。
答案 1 :(得分:1)
我需要能够跳过元素时使用的模式是
final List<Integer> list = new ArrayList<>();
public void set(int index, Integer value) {
while (list.size() <= index) list.add(null);
list.set(index, value);
}