是否有任何关于调用者何时可以使用Collection.remove()
返回的值的真实示例?
我很高兴该方法返回一个布尔值,但是当结果对调用者有用时,我很难想到一个案例。
答案 0 :(得分:6)
Collection.remove()
会返回false
。
这对我来说听起来非常有用,特别是如果你期望对象在那里 - 一旦删除它就不可能确认它以前是。对remove()
的调用是发现它不存在的最后机会。
答案 1 :(得分:4)
正如javadoc所说
从此集合中移除指定元素的单个实例(如果存在)(可选操作)。
该集合可能包含多个相同的对象,因为集合不一定是Set。
所以一个用例可能是删除一个等于remove参数的对象的所有实例。
while(col.remove(anObject));
请记住,javadoc也说:
更正式地,删除元素e(o == null?e == null:o.equals(e))
因此,如果您获得可能包含空值的集合,并且您只想处理“真实”对象,则可以使此代码更容易
for(Object obj : col) {
if(obj != null){
doSomethingWithObject(obj);
}
}
首先删除null
值:
while(col.remove(null));
for(Object obj : col) {
doSomethingWithObject(obj);
}