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);


    }

    }

  • 相关阅读:
    在Linux终端命令行下播放音乐的命令
    危险,几条可致命的Linux命令!
    Linux 之 shell 比较运算符
    Linux-dd命令详解
    vi总结的几个技巧
    用iptables实现代理上网
    CentOS7.5 开启Samba服务
    CentOS7.5常用命令
    CentOS7.5 安装部署Apache+Mysql+Php
    C++入门基础笔记
  • 原文地址:https://www.cnblogs.com/Flyrun/p/7612511.html
Copyright © 2011-2022 走看看