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方法;

      

  • 相关阅读:
    数据库chapter 4 数据库安全性
    数据库 chapter 2 关系数据库
    数据库 chapter 1 概论
    操作系统 chapter 11 I/O系统
    操作系统 chapter 12 死锁
    操作系统 chapter 7 8 存储模型
    聊一聊移动调试那些事儿
    获取当前日期和农历的js代码
    使用 CSS 媒体查询创建响应式网站
    大前端工具集
  • 原文地址:https://www.cnblogs.com/lonecloud/p/5494815.html
Copyright © 2011-2022 走看看