zoukankan      html  css  js  c++  java
  • java集合迭代器

    java集合迭代器

    采用迭代器遍历方式遍历集合,如果要在遍历过程中添加或者删除元素,如下代码所示:

     1 package MyIterator;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Collection;
     5 import java.util.Iterator;
     6 
     7 public class Test {
     8     public static void main(String[] args) {
     9         //创建集合类
    10         Collection <String>c=new ArrayList <String>();
    11         c.add("hello");
    12         c.add("word");
    13         c.add("java");
    14         c.add("hahaha");
    15         //获取迭代器对象
    16         Iterator<String> it=c.iterator();
    17         while(it.hasNext()) {
    18             String s=it.next();
    19             if(s.equals("java")) c.add("这样做不对");
    20             System.out.println(s);
    21         }
    22     }
    23 }

    运行抛出并发修改异常:Exception in thread "main" java.util.ConcurrentModificationException

    解决方案:使用迭代器进行修改

     1 package MyIterator;
     2 import java.util.ArrayList;
     3 import java.util.List;
     4 import java.util.ListIterator;
     5 
     6 public class Test {
     7     public static void main(String[] args) {
     8         //创建集合类
     9         //Collection <String>c=new ArrayList <String>();
    10         List <String>c=new ArrayList <String>();
    11         c.add("hello");
    12         c.add("word");
    13         c.add("java");
    14         c.add("hahaha");
    15         //获取迭代器对象
    16         ListIterator<String> lit=c.listIterator();
    17         while(lit.hasNext()) {
    18             String s=lit.next();
    19             if(s.equals("java")) 
    20                 lit.add("这就对了");
    21         }
    22         System.out.println(c);
    23     }
    24 }
  • 相关阅读:
    requirejs 加载其它js
    springmvc 国际化
    企业QQ客服的添加
    js验证身份证号码
    JQUERY获取当前页面的URL信息
    lnmp、lamp、lnmpa一键安装包(Updated: 2015-10-25)
    php生成代金券码
    JS控制文本框textarea输入字数限制的方法
    ps 换图片的背景颜色
    读取数据库配置文件
  • 原文地址:https://www.cnblogs.com/hopeyes/p/9715042.html
Copyright © 2011-2022 走看看