zoukankan      html  css  js  c++  java
  • 列表迭代器 ListIterator

    package com.Test01;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.ListIterator;
    
    /*
            ConcurrentModificationException
     当不允许这样的修改时,可以通过检测到对象的并发修改的方法来抛出此异常。
             */
    public class ListDemo {
        public static void main(String[] args) {
            //创建集合对象
            List<String> list = new ArrayList<String>();
    
            //添加元素
            list.add("hello");
            list.add("world");
            list.add("java");
    
    //        遍历集合
            /*
            Iterator<String> it = list.iterator();
            while (it.hasNext()) {
                String s = it.next();
                if(s.equals("world")) {
                    list.add("javase");
                }
    
            }
    
             */
            /*
            for(int i = 0;i<list.size();i++) {
                String s = list.get(i);
                if(s.equals("world")) {
                    list.add("javaee");
                }
            }
            System.out.println(list);
            */
            ListIterator<String> lit = list.listIterator();
            while (lit.hasNext()) {
                String s = lit.next();
                System.out.println(s);
            }
            System.out.println("-------------");
            while (lit.hasPrevious()) {
                String s = lit.previous();
                System.out.println(s);
    
            }
    
    
        }
    }
    运行结果如下:
    hello
    world
    java
    -------------
    java
    world
    hello

     ListIterator<String> lit = list.listIterator();
    while(lit.hasNext()) {
    String s = lit.next();
    if(s.equals("world")) {
    lit.add("javaee");
    }
    }
    System.out.println(list);

    使用列表迭代器的add方法不会发生并发异常,因为底层将 实际修改次数赋值给了预期修改次数 

  • 相关阅读:
    webpack简介与使用
    webpack使用小记
    H5常用技巧
    mac 终端 常用命令
    vue.js学习资料
    git clean(转载)
    HTML5 移动端的上下左右滑动问题
    HTML5+CSS3 loading 效果收集--转载
    使用Chrome DevTools的Timeline分析页面性能
    phantomjs 是什么?----主要是mac下面
  • 原文地址:https://www.cnblogs.com/lsswudi/p/11407698.html
Copyright © 2011-2022 走看看