zoukankan      html  css  js  c++  java
  • ListIterator的使用

    package cn.lonecloud.Iterator;
    
    import java.util.ArrayList;
    import java.util.ListIterator;
    
    public class myListIterator {
    	public static void main(String[] args) {
    		ArrayList<Integer> list=new ArrayList<Integer>();
    		for (int i = 0; i < 10; i++) {
    			list.add(i);
    		}
    		//列表迭代器继承的接口是Iterator
    		ListIterator<Integer> iterator=list.listIterator();
    		ListIterator<Integer> iterator2=list.listIterator();
    		
    		/**
    		 * Exception in thread "main" java.lang.IllegalStateException
    			at java.util.ArrayList$ListItr.set(ArrayList.java:941)
    			at cn.lonecloud.Iterator.myListIterator.main(myListIterator.java:14)
    			同样会报错,这个类里面的set和remove方法都需要和next()方法相结合使用
    			而且他的会改变的元素就是next()里面返回的元素
    		 */
    		iterator.next();
    		iterator.set(22);//
    		iterator.next();
    		iterator.remove();
    		/**
    		 * Exception in thread "main" java.util.ConcurrentModificationException
    			at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
    			at java.util.ArrayList$Itr.next(ArrayList.java:851)
    			at cn.lonecloud.Iterator.myListIterator.main(myListIterator.java:28)
    			由于改变了list里面的元素,导致这个迭代器混乱了,导致抛出异常
    		 */
    		while (iterator2.hasNext()) {
    			Integer integer = (Integer) iterator2.next();
    			System.out.println(integer);
    			
    		}
    	}
    }	
    

      ListIterator是继承于Iterator的一个接口;

      里面有set方法;

      

  • 相关阅读:
    防止sql注入的小函数 以及一些小验证
    PHP几个防SQL注入攻击自带函数区别
    redis配置文件.conf和常用配置
    redis常用命令
    redis数据类型
    redis的安装和简单操作
    yum CentOS7安装mysql
    Linux安装mysql
    firewall-cmd 常用命令
    解决linux下启动tomcat找不到jdk
  • 原文地址:https://www.cnblogs.com/lonecloud/p/5494815.html
Copyright © 2011-2022 走看看