日期:2014-05-20  浏览次数:20742 次

这个程序先是顺序输出接着是反序输出,previous用错在哪里
如题

import java.util.*;

public class Test
{
public static void main(String[] args)
{
List<Integer> list = new LinkedList<Integer>();
list.add(10);
list.add(2);
list.add(3);
list.add(6);
  list.add(5);
  list.add(20);
  list.add(21);
  
  Iterator<Integer> it = list.iterator();

  while(it.hasNext())
  {   
   System.out.println(it.next());   
  }
  
  while(it.hasPrevious())
  {
   System.out.println(it.previous());
  }
  

}
}


错误提示为

------解决方案--------------------
ListIterator才有hasPrevious的方法。
改成这样就行了:

public static void main(String[] args)
{
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(10);
list.add(2);
list.add(3);
list.add(6);
  list.add(5);
  list.add(20);
  list.add(21);
  
  ListIterator<Integer> it = list.listIterator();

  while(it.hasNext())
  {   
   System.out.println(it.next());   
  }
  
  while(it.hasPrevious())
  {
   System.out.println(it.previous());
  }
  

}