黑马程序员技术交流社区

标题: 为什么 List中的remove(int index)删不掉数据??? [打印本页]

作者: 小黑子    时间: 2014-10-8 06:01
标题: 为什么 List中的remove(int index)删不掉数据???
本帖最后由 小黑子 于 2014-10-8 08:14 编辑

写了一段代码,结果ArrayList和LinkedList中的 remove(int index)都删不掉数据。加入三组数据。执行remove之后,仍然能打印出三组数据。这是为什么???
  1. import java.util.LinkedList;
  2. import java.util.Iterator;
  3. import java.util.ArrayList;

  4. class LinkedListTest
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 //LinkedList ll = new LinkedList();
  9.                 ArrayList ll  = new ArrayList();
  10.                 ll.add("aaa");
  11.                 ll.add("123");
  12.                 ll.add("23");

  13.                 System.out.println(ll.remove(1));

  14.                 Iterator it = ll.iterator();
  15.                 while(it.hasNext())
  16.                 {
  17.                         System.out.println(it.next());
  18.                 }
  19.         }
  20. }
复制代码



list.png (3.64 KB, 下载次数: 17)

list.png

作者: 水竹    时间: 2014-10-8 06:39
不是没删除,而是你删除的时候打印了一下,难道你没发现输出顺序都不一样么……
作者: 小黑子    时间: 2014-10-8 08:14
水竹 发表于 2014-10-8 06:39
不是没删除,而是你删除的时候打印了一下,难道你没发现输出顺序都不一样么…… ...

哦,谢谢啊。我以为remove返回的是boolean呢,所以没注意顺序。:lol
作者: 不系之舟王    时间: 2014-10-8 09:18
学习了。
作者: 2406035442    时间: 2014-10-8 21:10
路过。。。。。。。。。

作者: waylent    时间: 2014-10-8 21:22
15行返回123,20行返回aaa和23,凑巧和原来的元素一样
作者: 刘宣超    时间: 2014-10-9 11:36
remove方法有返回值,返回删除的元素。你把删除的元素给打印了一下




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