java 三种迭代 删除元素

 

* 普通for循环,可以删除,但是索引要    “--”
* 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
* 增强for循环不能删除

 

 

 

增强for
* 简化数组和Collection集合的遍历
* B:格式:

for(元素数据类型 变量 : 数组或者Collection集合) {
使用变量即可,该变量就是元素
}

 

* C:案例演示
* 数组,集合存储元素用增强for遍历
* D:好处
* 简化遍历
增强for循环底层依赖的是迭代器(Iterator)

 ==================================================================

普通for循环:

注意:如果相邻两个元素为b;删除第一个b后,后面的元素全部前移,后边的那个B移到原来B的位置,而此时i已指向下一个元素

 

 

=============================================

 

迭代器删除指定元素

Iterator<String> it = list.iterator();
while(it.hasNext()) {
if("b".equals(it.next())) {
//list.remove("b"); //不能用集合的删除方法,因为迭代过程中如果集合修改会出现并发修改异常
it.remove();
}
}

for(Iterator<String> it2 = list.iterator(); it2.hasNext();) {
if("b".equals(it2.next())) {
//list.remove("b"); //不能用集合的删除方法,因为迭代过程中如果集合修改会出现并发修改异常
it2.remove();
}
}

 

 

 =================================================================

增强for循环,增强for循环不能删除,只能遍历
for (String string : list) {
if("b".equals(string)) {
list.remove("b");
}
}
System.out.println(list);
}

 

posted @ 2017-03-07 16:58  yimian  阅读(5934)  评论(0编辑  收藏  举报
访问人数:AmazingCounters.com