List集合的迭代
三种方法:
1.for循环遍历
/*for循环遍历
删除元素后,集合长度发生了变化,i一直向后递增*/
for (int i = 0; i < a.size(); i++) {
a.remove(i);
}
System.out.println(a);
//原数组集合:[2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
//结果:[2, 4, 6, 8, 10]
2.增强for循环
/*增强for循环
不允许遍历时对集合进行操作
如果进行操作(如删除),会抛出异常 ConcurrentModificationException
操作一次后必须break结束循环,否则会抛出异常*/
for (Object obj:a) {
if (obj.equals(2)){
a.remove(obj);
break;
}
}
System.out.println(a);
//原数组集合:[2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
//结果:[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
3.Iterator 集合迭代器
/*Iterator 集合迭代器
hasNext()用来检测集合中是否还有元素*/
Iterator i = a.iterator();
while (i.hasNext()){
Object obj = i.next();
if (obj.equals(2)){
i.remove();
}
}
System.out.println(a);
//原数组集合:[2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
//结果:[3, 4, 5, 6, 7, 8, 9, 10, 11]