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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘江华 黑马帝   /  2011-10-7 15:13  /  3563 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在集合当中,如果要删掉集合当中的元素的话。那个remove 方法是怎么删的?是真正删掉了里面的元素,还是只是说删掉指向集合当中元素的引用呢。?

5 个回复

倒序浏览
从物理意义上来说,标准算法remove()没有将对象从容器中删除;remove()执行完后,容器的大小不变。更确切地说,remove()只是简单地用"未删除"对象来填补被删除对象留下的缺口,每一个被删除对象在尾部还是会留下一个相应的"死亡"对象。最后,remove()返回一个迭代器,指向第一个"死亡"对象;或者,如果没有对象被删除,remove()将返回end()迭代器。

回复 使用道具 举报
推荐看下这篇文章,使用remove的时候要特别注意的。
http://blog.csdn.net/belmeng/article/details/6848868
回复 使用道具 举报
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。更确切地讲,如果此 collection 包含一个或多个满足 (o==null ? e==null : o.equals(e)) 的元素 e,则移除这样的元素。如果此 collection 包含指定的元素(或者此 collection 由于调用而发生更改),则返回 true
回复 使用道具 举报
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。更确切地讲,如果此 collection 包含一个或多个满足 (o==null ? e==null : o.equals(e)) 的元素 e,则移除这样的元素。如果此 collection 包含指定的元素(或者此 collection 由于调用而发生更改),则返回 true
回复 使用道具 举报
remove()删除的是元素的引用,当元素的引用被删除后,该元素就被java视为垃圾等待回收。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马