Vector v=new Vector();
v.add("1");
v.add("2");
v.add("0");
v.add("0");
v.add("0");
v.add("0");
v.add("3");
v.add("4");
v.add("5");
for(int i=0;i<v.size();i++){
if(v.get(i)==0){
v.remove(i);
}
}
运行结果为什么还会有几个"0"值没删除呢??
v.add("1");
v.add("2");
v.add("0");
v.add("0");
v.add("0");
v.add("0");
v.add("3");
v.add("4");
v.add("5");
for(int i=0;i<v.size();i++){
if(v.get(i)==0){
v.remove(i);
}
}
运行结果为什么还会有几个"0"值没删除呢??
解决方案 »
- JAVA中使用JS函数
- GUI : JButton数组如何设置监听动作?
- java 将全角字符“--”输出至xml文档
- BigInteger,BigDecimal 的配套类哪个??类似如String的配套类是StringBuilder
- 一个局域网的问题
- 用AWT写“足球比赛更新表”???
- java异常处理的问题
- 一个很基本的编译问题
- 怎样把地址栏中的中文转换成如下:%D6%D0%CE%C4
- 提交后,如何取得一个<select>中的全部的值?
- 提一个基础问题:web上,JAVA的全局变量是什么啊?类似于ASP的Application对象的东西。
- JAVA如何获得CUP序列号?要在windows和linix下都能运行
字符串直接相等是不能判断里面内容是否相同的。
for(int i=0;i<v.size();i++){
if(v.get(i)==0){
v.remove(i);
i--;
}
}
这样就可以了
自己体会一下
同意楼上的说法,当你remove掉一个0的时候。你指针实际的位置是往后去了一个,但是你删除那位的后一位实际上已经补齐了你删掉的那一位。。所有补齐的那位如果是0。你就错过了