黑马程序员技术交流社区

标题: 请教问题:关于ListIterator的反向输出。[已解决] [打印本页]

作者: 李征雪    时间: 2012-4-18 12:17
标题: 请教问题:关于ListIterator的反向输出。[已解决]
本帖最后由 李征雪 于 2012-4-18 15:37 编辑
  1. import java.util.*;

  2. class DemoPrevious
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 ArrayList al = new ArrayList();
  7.                 al.add("rwyh");
  8.                 al.add("dbjh");
  9.                 al.add("dsej");
  10.                 al.add("vkdq");

  11.                 ListIterator it = al.listIterator();
  12.                 while (it.hasPrevious())
  13.                 {
  14.                         System.out.println(it.previous());
  15.                 }
  16.                 System.out.println("Hello World!");
  17.         }
  18. }
复制代码
帮我看看是哪的问题,如果用hasNext()和it.next()就可以正常输出。


作者: 沈样    时间: 2012-4-18 12:39
没想到应该怎么去解决这个问题,因为这个是从集合的尾部开始进行读写,而一开始读的话,下标是从0开始,所以it.hasPrevious()前就没有元素了,没想到怎么一开始就把角标指到集合的未尾,只有用hasnext遍历到集合尾部再用这个去遍历
作者: 张卯    时间: 2012-4-18 12:49
这样就可以了~
import java.util.*;

class Demo
{
        public static void main(String[] args)
        {
                ArrayList al = new ArrayList();
                al.add("rwyh");
                al.add("dbjh");
                al.add("dsej");
                al.add("vkdq");
                                System.out.println(al);
                ListIterator it = al.listIterator(al.size());
                while (it.hasPrevious())
                {
                        System.out.println(it.previous());
                }
               
        }
}
作者: 吴玉辉    时间: 2012-4-18 13:28
ListIterator<E> listIterator(int index) ,从指定位置开始迭代,就不会出现空指针异常了。遇到问题多看看API好处还是挺多{:soso_e113:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2