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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java.love 中级黑马   /  2013-4-27 00:08  /  1907 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 java.love 于 2013-4-27 22:22 编辑

正在学习迭代器,谁帮忙把这几行代码加个注释。
ListIterator li = a1.ListIterator();
while(li.hasNest())
{
  Object obj = li.next();
if(obj.equals("aaaa"))
li.set("bbbbb");
}

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

9 个回复

倒序浏览
ListIterator li = a1.ListIterator();    //调用a1集合中的ListIterator方法,返回一个ListIterator迭代器
while(li.hasNest())             //调用迭代器的hasNext()方法判断有没有元素,返回值boolean
{
Object obj = li.next();      //调用迭代器next()方法,取出集合中的元素,返回值Object类型,多态
if(obj.equals("aaaa"))          //判断next()方法取出的集合元素是不是"aaaa"
li.set("bbbbb");                 //是的话,改为"bbbbb"
}

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 黑马-张明 于 2013-4-27 00:21 编辑
  1. ListIterator li = a1.ListIterator();
  2. //代码进行ListIterator对象li的各种功能检测
  3. //顺序输出li迭代器中现有的元素
  4. while(li.hasNest())
  5. {
  6.   Object obj = li.next();
  7. if(obj.equals("aaaa"))
  8. li.set("bbbbb");//通过使用ListIterator的set方法来改变li中的元素
  9. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

回复 使用道具 举报
a1.ListIterator();调用listiterator方法  li.hasNext 下一个元素 楼主貌似写错了next,  obj。equals aaaa 比较一下是不是aaaa  然后set为bbbbb;

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
{:soso_e113:}二楼解释的很清楚了
回复 使用道具 举报
  1. ListIterator li = a1.ListIterator(); //获取迭代器
  2. while(li.hasNest())//判断li迭代器中现有的元素,有返回true,没有返回fasle
  3. {
  4.    Object obj = li.next();  //获取第一个元素,给定义obj
  5.    f(obj.equals("aaaa"))//判断obj这个元素是否为aaaa
  6.    li.set("bbbbb");//如果满足条件,把aaaa改成bbbbb
  7. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

回复 使用道具 举报
  1. ListIterator li = a1.ListIterator();  //获取迭代器
  2. while(li.hasNest())   //判断li迭代器中现有的元素,有继续迭代,没有返回fasle
  3. {
  4.    Object obj = li.next();  //获取元素,交给obj
  5.    f(obj.equals("aaaa"))//判断obj这个元素是否为aaaa
  6.    li.set("bbbbb");//如果满足条件,把aaaa改成bbbbb
  7. }
复制代码
我估计楼主不是这么简单的就让解释一下代码吧,应该是想知道ListIterator与Iterator的区别吧!
1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能
2. ListIterator和Iterator都有hasNext()和next()方法,可以实现顺序向后遍历,但是ListIterator有hasPrevious()和previous()方法,可以实现逆向(顺序向前)遍历。Iterator就不可以。
3. ListIterator可以定位当前的索引位置,nextIndex()和previousIndex()可以实现。Iterator没有此功能。
4. 都可实现删除对象,但是ListIterator可以实现对象的修改,set()方法可以实现。Iierator仅能遍历,不能修改。


评分

参与人数 1技术分 +1 收起 理由
张熙韬 + 1

查看全部评分

回复 使用道具 举报
楼主你好   如果问题已经解决了,请把帖子的类型改为“已解决”{:soso_e181:}
回复 使用道具 举报
可见 中级黑马 2013-4-27 10:56:06
9#
不错 学习了~~~
回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马