黑马程序员技术交流社区

标题: 集合中Listerator的问题,报错求解释 [打印本页]

作者: yefeidd    时间: 2015-8-17 12:54
标题: 集合中Listerator的问题,报错求解释

  1. package Container;

  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import java.util.ListIterator;


  5. /*
  6. Conllection:
  7. --List:元素是有序的,且可以重复,因为该集合存在索引。
  8. --Set:元素是无序的,不能重复。


  9. List:
  10.         特有方法:凡是可以操作角标的都是该体系特有的方法。

  11. 增:
  12.         add(index,element);
  13.         addAll(index,Collection);
  14. 删:
  15.         remove(index);
  16. 改:
  17.         set(index,element);
  18. 查:
  19.         get(index);
  20.         Iterator;//迭代器;
  21.         indexOf(element);//获取某个元素的位置
  22.         subList(from,to);//获取from至to的元素,包含from,不包含to:[from,to);
  23.        
  24.         listIterator();//列表迭代器,List所特有的
  25.         在迭代过程中,准备添加和删除元素。
  26.        
  27. List集合特有的迭代器。listIterator()是Iterator()的子接口。

  28. 在迭代中,Iterator()的方法是有限的,只有判断,取出, 删除,要想有其他操作就必须使用listIterator()。
  29.        
  30. */
  31. public class ListDemo {
  32.        
  33.         public static void sop(Object obj)
  34.         {
  35.                 System.out.println(obj);
  36.         }

  37.         public static void main(String[] args) {
  38.                 //创建一个集合容器,使用Collection接口的子类。ArrayList
  39.                 ArrayList<String> a1 = new ArrayList<>();
  40.                                
  41.                 //添加元素
  42.                 a1.add("test01");//add(Object obj)
  43.                 a1.add("test02");
  44.                 a1.add("test03");
  45.                 a1.add("test04");
  46.                 a1.add("test05");
  47.                
  48.                         //listIterator()示例
  49.                         for(ListIterator<String> it = a1.listIterator();it.hasNext();)
  50.                         {
  51.                                 Object obj = it.next();
  52.                                 if(obj.equals("test03"))
  53.                                 {
  54.                                         a1.add("test08");//增加一个元素
  55.                                 }
  56.                                 sop("listIterator_obj="+obj);//报错了
  57.                         }
  58.                         for(ListIterator<String> it = a1.listIterator();it.hasNext();)
  59.                         {
  60.                                 Object obj = it.next();
  61.                                 sop("listIterator_Obj="+obj);
  62.                         }<span id="transmark"></span>
  63.                        
  64.                        
  65.                 }

  66. }


复制代码



作者: kenfans    时间: 2015-8-17 14:17
60行Object改成String,你都加了泛型了还用什么Object
63行,a1改成it,迭代的时候不能用集合的方法,用迭代器的
71行,我都不想说了,这是java 的代码吗,兄弟啊
作者: yefeidd    时间: 2015-8-17 16:54
kenfans 发表于 2015-8-17 14:17
60行Object改成String,你都加了泛型了还用什么Object
63行,a1改成it,迭代的时候不能用集合的方法,用迭 ...

谢谢哈,前面两个是我的错误。71行那个不是我加的。。。。。




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