zoukankan      html  css  js  c++  java
  • 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);
    }

  • 相关阅读:
    08:特殊日历计算
    07:玛雅历
    Vigenère密码
    openjudge 螺旋加密
    C#遍历指定文件夹中的所有文件和子文件夹
    确定两串乱序同构
    方阵原地顺时针旋转90度
    05:统计单词数【NOIP2011复赛普及组第二题】
    牛客网一道趣味题
    二分查找的平均查找长度详解【转】
  • 原文地址:https://www.cnblogs.com/yimian/p/6515641.html
Copyright © 2011-2022 走看看