A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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添加元素,以及改变元素

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

5 个回复

正序浏览
秦桂胜 发表于 2013-11-6 09:35
ListIterator lit=arr.listIterator();
                int count=10;
               while(lit.has ...

显然第一次遍历hasPrevious()的时候,指针的位置在最前面,是不是相当于0角标的位置,前面可能没有元素吧,所以返回是false,剩下的就OK了,这也说明hasPreviouse()是和hasNext()配套使用的吧。
如果你先用next()遍历一边,再用previouse()遍历,那肯定会添加成功的~
希望对楼主有用~~~
回复 使用道具 举报
李慧声 发表于 2013-11-5 16:45
listIterato不是Iterator的子类吗,你把Iterator替换成ListIterator不就行了嘛,他爹的方法,难道他不具备 ...

谢谢你了
回复 使用道具 举报
秦桂胜 发表于 2013-11-6 09:35
ListIterator lit=arr.listIterator();
                int count=10;
               while(lit.has ...

原来是忘了指定位置,李慧声,谢谢你了,查查API,终于把这个问题解决了。
回复 使用道具 举报
李慧声 发表于 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);
               }
              添加过后执行 ,为什么没有添加成功呀?
回复 使用道具 举报
listIterato不是Iterator的子类吗,你把Iterator替换成ListIterator不就行了嘛,他爹的方法,难道他不具备?添加删除看看API不就清楚了吗~

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马