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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小黑子 于 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, 下载次数: 1)

list.png

评分

参与人数 1黑马币 +3 收起 理由
杨佳名 + 3 细节决定成败!

查看全部评分

6 个回复

倒序浏览
不是没删除,而是你删除的时候打印了一下,难道你没发现输出顺序都不一样么……
回复 使用道具 举报
水竹 发表于 2014-10-8 06:39
不是没删除,而是你删除的时候打印了一下,难道你没发现输出顺序都不一样么…… ...

哦,谢谢啊。我以为remove返回的是boolean呢,所以没注意顺序。:lol
回复 使用道具 举报
学习了。
回复 使用道具 举报
路过。。。。。。。。。
回复 使用道具 举报
15行返回123,20行返回aaa和23,凑巧和原来的元素一样
回复 使用道具 举报
remove方法有返回值,返回删除的元素。你把删除的元素给打印了一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马