java中ArrayList中是用remove注意事项计算机二级考试
文章作者 100test 发表时间 2009:05:10 17:20:54
来源 100Test.Com百考试题网
2009年下半年全国计算机等级考试你准备好了没?考计算机等级考试的朋友,2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛 百考试题在线题库
在ArrayList中是用remove应注意ArrayList的变化,
例如:
ArrayList list = new ArrayList().
for (int i = 0. i <. 10. i ) {
HashMap hs = new HashMap().
hs.put("put", i 1).
list.add(hs).
}
for (int i = 0. i <. list.size(). i ) {
System.out.println("1=i=" i).
HashMap hsOld = list.getHash(i).
int put = hsOld.getInt("put").
if (put == 3 || put == 5 || put == 7) {
list.remove(hsOld).或list.remove(i).
i--.
} else {
nlist.add(hsOld).
System.out.println("put===" put).
}
}
在for循环的是i是自增的变量,在remove一条信息时,
ArrayList的大小已经改变(即list.size()已经改变);
在i大于等于list.size()时,循环跳出,后便的ArrayList不能再执行;
所以必须在remove的同时,执行i--,即i=i-1;
现在才能遍历所有List中的信息。
特别推荐:
2009年9月全国计算机等级考试时间及科目预告