日期:2014-05-20 浏览次数:20893 次
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