黑马程序员技术交流社区

标题: listIterator和Iterator的区别,以及listIterator对象怎样改变元素 [打印本页]

作者: 秦桂胜    时间: 2013-11-5 16:24
标题: listIterator和Iterator的区别,以及listIterator对象怎样改变元素
import java.util.*;
public class ListDemo   {
        public static void main(String[] args) {
               
                LinkedList<String>  arr=new LinkedList<String>();
               
                arr.add(0, "元素1");//添加元素
                arr.add( "元素2");
                arr.add("元素3");
                arr.add("元素4");
                arr.add("元素5");
                //迭代器反向读取元素。
                Iterator it=arr.descendingIterator();
                while(it.hasNext()){
                        System.out.println(it.next());
                }
               ListIterator it=arr.listIterator();
        }
}
怎么用listIterator添加元素,以及改变元素
作者: 李慧声    时间: 2013-11-5 16:45
listIterato不是Iterator的子类吗,你把Iterator替换成ListIterator不就行了嘛,他爹的方法,难道他不具备?添加删除看看API不就清楚了吗~

作者: 秦桂胜    时间: 2013-11-6 09:35
李慧声 发表于 2013-11-5 16:45
listIterato不是Iterator的子类吗,你把Iterator替换成ListIterator不就行了嘛,他爹的方法,难道他不具备 ...

   ListIterator<String> lit=arr.listIterator();
                int count=10;
               while(lit.hasPrevious()){
                       lit.add("元素"+count++);
               }
               for(Object f:arr){
                       System.out.println(f);
               }
              添加过后执行 ,为什么没有添加成功呀?
作者: 秦桂胜    时间: 2013-11-6 10:25
秦桂胜 发表于 2013-11-6 09:35
ListIterator lit=arr.listIterator();
                int count=10;
               while(lit.has ...

原来是忘了指定位置,李慧声,谢谢你了,查查API,终于把这个问题解决了。
作者: 秦桂胜    时间: 2013-11-6 10:27
李慧声 发表于 2013-11-5 16:45
listIterato不是Iterator的子类吗,你把Iterator替换成ListIterator不就行了嘛,他爹的方法,难道他不具备 ...

谢谢你了
作者: 李慧声    时间: 2013-11-6 16:25
秦桂胜 发表于 2013-11-6 09:35
ListIterator lit=arr.listIterator();
                int count=10;
               while(lit.has ...

显然第一次遍历hasPrevious()的时候,指针的位置在最前面,是不是相当于0角标的位置,前面可能没有元素吧,所以返回是false,剩下的就OK了,这也说明hasPreviouse()是和hasNext()配套使用的吧。
如果你先用next()遍历一边,再用previouse()遍历,那肯定会添加成功的~
希望对楼主有用~~~




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