Java 集合框架listIterator接口

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.sun.xml.internal.bind.v2.runtime.reflect.ListIterator;

public class ListDemo2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List list=new ArrayList();
		//show(list);
		list.add("abc1");
		list.add("abc2");
		list.add("abc3");

		java.util.ListIterator it= list.listIterator();
		//获取列表迭代器对象
		//它可以实现在迭代过程中完成对元素的增删改查
		//注意:只有List集合具有该迭代功能
		
		while(it.hasNext()) {
			Object obj=it.next();
			
			if(obj.equals("abc2")) {
				it.set("abc9");
			}
			
		}
		while(it.hasPrevious()) {
			System.out.println(it.previous());
		}
		System.out.println("next:"+it.hasNext());;
		System.out.println("next:"+it.hasPrevious());;
		System.out.println("list:"+list);
		
/*		Iterator it=list.iterator();
		while(it.hasNext()) {
			Object obj=it.next();
			if(obj.equals("abc2")) {
				list.add("abc9");//java.util.NoSuchElementException
								// 集合和迭代器同时修改这个元素
								//所以在迭代器过程中,不要使用集合操作元素,容易出现异常
								//可以使用Iterator接口的子接口ListIterator 来完成对元素进行更多的操作。
				
			}
			else
				System.out.println("next:"+obj);
			
			System.out.println( "next:"+it.next());
			*/
		}		
		
	

	private static void show(List list) {
		// TODO Auto-generated method stub
		list.add("adb1");
		list.add("adb2");
		list.add("adb3");
		list.add("adb4");
		
		Iterator it=list.iterator();
		while(it.hasNext()) {
			System.out.println("next:"+it.next());
			
		}
		//List 特有的取出元素的方式之一
		for (int i = 0; i < list.size(); i++) {
			System.out.println("get:"+list.get(i));
		}
		
	}

}

你可能感兴趣的:(Java学习)