是否有任何真实世界的例子说明调用者何时可以使用从返回的值Collection.remove()
?
我很高兴该方法返回一个布尔值,但我很难想到结果对调用者有用的情况。
是否有任何真实世界的例子说明调用者何时可以使用从返回的值Collection.remove()
?
我很高兴该方法返回一个布尔值,但我很难想到结果对调用者有用的情况。
Collection.remove()
false
当传递给它的对象在集合中未找到时返回。
这对我来说听起来相当有用,特别是如果您希望该对象在那里 - 一旦被移除,就不可能确认它以前是。呼叫remove()
是发现它不存在的最后机会。
正如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);
}