zoukankan      html  css  js  c++  java
  • 集合遍历时,修改元素

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.ListIterator;
    /**
    *
    * @author Ginfer
    * @virsion
    * HP
    * collection
    * HP
    * 当迭代器在遍历元素的时候,集合时不能修改元素的,会报ConcurrentModificationException(并发修改异常)
    * 迭代器依赖于集合存在,在判断成功后,集合中添加元素是,迭代器不知道,所以会报错
    * 这个错叫并发修改异常,如何解决呢?
    * 1.迭代器迭代元素,迭代器修改元素
    * 但是Iterator没有添加功能
    * 2.集合遍历元素,集合修改元素
    *
    *
    */

    public class Demo3 {
    public static void main(String[] args) {
    List list=new ArrayList();
    list.add("asd");
    list.add("asdf");
    list.add("asdfg");
    /*Iterator it=list.iterator();
    while(it.hasNext()){
    String s=(String) it.next();
    if("asd".equals(s)){
    list.add("nihao");
    }
    }*/
    //方法1.迭代器迭代元素,迭代器修改元素,元素在查找的元素后面添加
    ListIterator lit=list.listIterator();
    while(lit.hasNext()){
    String s=(String)lit.next();
    if("asd".equals(s)){
    lit.add("zxc");
    }

    }
    System.out.println("list:"+list);
    //方法2.集合遍历元素,集合修改元素,元素在集合的最后添加
    for (int i = 0; i < list.size(); i++) {
    if("asd".equals(list.get(i))){
    list.add("bnm");
    }
    }
    System.out.println("list:"+list);


    }

    }

  • 相关阅读:
    浅谈HashMap的内部实现
    浅谈Java的集合体系
    如何通过注解Bean类来封装SQL插入语句
    谈一谈垃圾回收器
    万物皆对象
    关于枚举
    Servlet向客户端发送中文数据的编码情况
    "流"派家族,一脉相承
    个人简历用HTML编写
    get和post的区别
  • 原文地址:https://www.cnblogs.com/Flyrun/p/7612511.html
Copyright © 2011-2022 走看看