zoukankan      html  css  js  c++  java
  • 遍历集合的时候删除元素

    package chapter0902需要看;

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;

    /*
    * 遍历集合的时候删除元素
    * IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size() )
    */
    public class TestList03 {
    public static void main(String[] args) {
    List list = new ArrayList();
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    // 普通for正着删除元素示例,不能彻底删除,打印结果是:a c
    /*
    * for(int i=0;i<list.size();i++){ // 遍历集合 //
    * System.out.println(list.get(i)); Object object=list.remove(i);
    * System.out.println(object); }
    */
    // ConcurrentModificationException原因:Object object:list中Object&list集合不相等
    /*
    * 增强for循环 for (Object object : list) {
    * System.out.println(list.remove(object)); }
    */
    // 迭代器边边里边删除
    Iterator iter = list.iterator();
    while (iter.hasNext()) {
    // 遍历集合
    Object obj = iter.next();
    // System.out.println(obj);--打印结果:a b c d
    // 让迭代器发生位移操作
    iter.remove();
    /*
    * 可以看到集合被一个一个的删除: System.out.println(list); 打印结果: a [b, c, d] b [c,
    * d] c [d] d []
    */
    }
    // 打印最终结果如下:
    System.out.println("最后打印出:" + list);
    }

    }

    // 最后打印出:[]

  • 相关阅读:
    cocos2d3.8.1 使用prebuild提升发布android速度
    AS3条件编译
    Box2d FilterData
    旋转关节(Revolute Joint)
    线关节(Line Joint)
    平移关节(Prismatic Joint)
    滑轮关节(b2PulleyJoint)
    PAT Basic 1043 输出PATest (20 分)
    PAT Basic 1042 字符统计 (20 分)
    PAT Basic 1039 到底买不买 (20 分)
  • 原文地址:https://www.cnblogs.com/Koma-vv/p/9530765.html
Copyright © 2011-2022 走看看