黑马程序员技术交流社区

标题: 迭代器 [打印本页]

作者: chudaming213    时间: 2014-12-14 16:23
标题: 迭代器
  1. import java.util.Iterator;
  2. import java.util.LinkedList;
  3. import java.util.ListIterator;

  4. public class LinkedListDemo {
  5.         public static void main(String[] args) {
  6.                 LinkedList li = new LinkedList();
  7.                 li.add(new Person("wangwu0", 25));
  8.                 li.add(new Person("wangwu32", 65));
  9.                 li.add(new Person("wangwu4", 34));
  10.                 li.add(new Person("wangwu3", 25));
  11.                 li.add(new Person("wangwu3", 25));
  12.                 Iterator it = li.iterator();
  13.                 ListIterator lis=li.listIterator();
  14.                 while (it.hasNext())
  15.                         System.out.println(it.next());
  16.                 System.out.println() ;
  17.                 System.out.println(li.remove(2));
  18. while (lis.hasNext())
  19.                          System.out.println(lis.next());
  20. }
复制代码

为什么会报出这个异常?


作者: 秦_奋    时间: 2014-12-14 19:39
看看API里面list中的remove(int x)这个方法的返回值类型是什么·
作者: chudaming213    时间: 2014-12-14 20:35
异常如下:
  1. Exception in thread "main" java.util.ConcurrentModificationException
  2.         at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
  3.         at java.util.LinkedList$ListItr.next(Unknown Source)
  4.         at collection.LinkedListDemo.main(LinkedListDemo.java:28)
复制代码

作者: I空空    时间: 2014-12-14 22:09
remove(int a)返回类型是Object,还有存进去的是Person,取出来的也应该是person,最好重写toString方法
作者: I空空    时间: 2014-12-14 22:10
remove(int a)返回类型是Object,还有存进去的是Person,取出来的也应该是person




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