/**
先看下面的代码:
*
*/
package com.mischen.cn;
import java.util.ArrayList;
import java.util.List;
/**
* @author mischen
*
*/
public class Test2 {
public static void main(String args[]){
List<String> list=new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
for(int i=0;i<list.size();i++)
list.remove(i);
for(int i=0;i<list.size();i++)
System.out.print(list.get(i)+",");//2,4,
}
}
最后程序输出的是2,4, 这是因为使用ArrayList的时候,由于每次去移除一个元素,所以就导致后面的每一个元素向前移一位,0以前的值是1,移除以后就没有了,此时0下标的集合这个数依然存在,此时[0]=‘2’,[1]='3',[2]='4'了,当执行循环再移动的时候,此时i变成1了,当移除以后,由后面的4来填充前面的[2]了。所以最后输出2,4,
值得注意的是:
for循环语句的循环体如果只有一个语句,则大括号可以省略;如果循环体由多个语句组成,就必须要使用大括号(否则将只把第一个语句作为循环体,而后面的语句则作为“循环体以外”的语句处理)。