日期:2014-05-20 浏览次数:20697 次
import java.util.LinkedList; import java.util.List; import java.util.ListIterator; import java.util.Iterator; public class A2 { public static void main(String[]args){ LinkedList list=new LinkedList(); //添加10个随机整数 for(int i=0;i<10;++i){ list.add(new Integer((int)(10*Math.random()))); } //为了确保序列里有0 list.add(new Integer(0)); list.add(new Integer(0)); System.out.println("删除0之前的元素序列:"); displayList(list); delete0(list); System.out.println("删除0之后的元素序列:"); displayList(list); } public static void displayList(List list){ ListIterator iterator=list.listIterator(); while(iterator.hasNext()) { System.out.print(iterator.next()+" "); } System.out.println(); } //删除值为0的元素 public static void delete0(List list) { Iterator iterator=list.iterator(); // ListIterator iterator=list.listIterator(); while(iterator.hasNext()) { Integer intObj=(Integer)(iterator.next()); if(intObj.equals(0)) //这里删除原来代码的一个分号 { // list.remove(intObj); //这里使用iterator的remove进行删除 iterator.remove(); } } } }
------解决方案--------------------
这个和iterator的具体实现有关系的:
坛子里的帖子:
http://topic.csdn.net/u/20110824/09/17ce3e32-c6c0-4413-afe5-2d98df864aee.html