返回信息流LinkedList list = new LinkedList();
list.clear();
和
list.removeAll(list);
经测 clear()更快
小白求问:两者有可比性么?区别是神马?
这是一条镜像帖。来源:北邮人论坛 / java / #38194同步于 2015/1/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
list.clear() VS list.removeAll(list)
mistlxj
2015/1/19镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
LZ用java A了一道水题,用list.removeAll(list);超时,用list.clear();过了,故有此问,也不知问的是否合适,求解惑。。。
List<String> oringin = new ArrayList<String>();
List<String> toRemove = new ArrayList<String>();
oringin.removeAll(toRemove);
如果 removeAll 的参数不是这个 list 本身,你应该就能明白了吧?
【 在 kayla 的大作中提到: 】
: List<String> oringin = new ArrayList<String>();
: List<String> toRemove = new ArrayList<String>();
: oringin.removeAll(toRemove);
: ...................
soga
【 在 nuanyangyang 的大作中提到: 】
: removeAll的时候需要读你那个参数。但是,如果list.removeAll(list),是一边读它自己一边改它自己。这样不安全。
谢谢暖神
你理解错了
list1.removeAll(list2);
是在list1里删除出现在list2里的对象
removeAll(Collection<?> c)
Removes all of this collection's elements that are also contained in the specified collection (optional operation).
【 在 zwan0518 (zwan0518) 的大作中提到: 】
: removeAll这个接口好奇怪感觉,一个list调用这个方法删除另外一个list的所有元素
哦,晓得了。
还是要多看文档啊。。。
【 在 icyfox 的大作中提到: 】
: 你理解错了
: list1.removeAll(list2);
: 是在list1里删除出现在list2里的对象
: ...................