黑马程序员技术交流社区
标题:
删除集合中元素
[打印本页]
作者:
陈帅雷
时间:
2011-12-21 23:22
标题:
删除集合中元素
本帖最后由 陈帅雷 于 2011-12-22 09:25 编辑
import java.util.Vector;
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++){
v.remove(i);
}
for(int i=0; i<v.size();i++){
System.out.println(v.get(i));
}
}
}
发现第一次没删除完,输出结果居然是22 44 ?
作者:
周敏2011nc
时间:
2011-12-22 08:16
remove(int index) :它是 移除此向量中指定位置的元素。并将所有后续元素左移(将其索引减 1)。返回此向量中移除的元素。
解决办法 :
for(int i=0; i<v.size;){
v.remove(0)
}
为什么这里不写i++;因为每执行一次remove(int index)方法时,v.size就会减小1.
作者:
张绍成
时间:
2011-12-23 21:07
Vector : 是可变长集合。当你上删除了前面的以后,后面的就会向前移动,所以当你删除了第一个那么第二个将移动的到第一个的位置,以此类推!所以会输出 22 44 。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2