本帖最后由 啸傲江湖007 于 2012-7-13 15:52 编辑
查询API,找到Vector对应的remove()方法
public E remove(int index)移除此向量中指定位置的元素。将所有后续元素左移(将其索引减 1)。返回此向量中移除的元素。
刚开始有五个元素,
第一次remove()减少一个,后续四个统一左移,索引又是从零开始,所以第二次remove()只是删掉索引为一的元素,而不是从零索引开始删除,这样相当于是隔着一个删掉一个。
public class test_Vector_Remove_All {
public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>();
v.add(new Integer(11));
v.add(new Integer(22));
v.add(new Integer(33));
v.add(new Integer(44));
v.add(new Integer(55));
for(int i=0; i<=v.size();i++){
System.out.println(v.remove(i)+ " ---"+v);
}
for(int i=0; i<v.size();i++){
System.out.println(v.get(i));
}
}
}
打印结果:
11 ---[22, 33, 44, 55]
33 ---[22, 44, 55]
55 ---[22, 44]
22
44
|