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

© 胡威 黑马帝   /  2012-2-1 20:31  /  1899 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当集合和迭代器都有同一对象的引用时,迭代器调用remove(),去掉的是迭代器中的引用,还是集合中的对象引用,还是both?

5 个回复

倒序浏览
从毕老师讲的视频看的出是删除集合中的对象,楼主可再看下老师讲迭代器的视频

评分

参与人数 1黑马币 +3 收起 理由
荣凯旋 + 3

查看全部评分

回复 使用道具 举报
当集合和迭代器都有同一对象的引用时,      集合中保存了对象的引用,迭代器则没有保存对象的引用,它只是提供了一些方法遍历集合,API :迭代器调用remove():从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。
回复 使用道具 举报
迭代器:个人理解为取出东西的工具。
           毕老师的例子:游戏厅里,抓布娃娃机箱中的铁爪子。
Collection<String>  con = new ArrayList<String>();
con.add("abc");
con.add("cdd");
con.add("dac");
Iterator<String> it  = con.iterator();  // 获取con的迭代器对象。
迭代器只能遍历取出元素,不能删除元素

remove 删除的是集合中的元素,要用集合的对象来调用
集合中只能存储对象,所以remove删除的就是集合中的对象。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马