我基本上正在寻找某种代码或循环,我只能在删除数组列表的项目或无法找到答案时打印文本。
while (arraylist.remove()=true)
{
//text
}
显然这段代码不起作用,但这是我想要的想法。
任何帮助表示赞赏!
首先,该代码片段已经是一种方式:当您的代码调用remove()
方法时,您可以检查该操作的结果 - 来自其javadoc:
如果此列表包含指定的元素,则返回true
当然,如果你想在移除过程中“理解”删除的东西,你可以自己实现List接口,或者扩展说AbstractList并将代码添加到各种remove()
方法中。
(而且确切地说:你的示例代码不起作用的唯一原因是你正在做remove() = true
但应该使用== true
- 或者更好的if (someList.remove(someObj))
)
您可以将以下方法添加到类中(将包含对象和对象本身的列表作为参数传递)。之后你做了正确的检查(请注意,要检查变量是否存储为true,你应该使用==
而不是=
,因为第二个是赋值运算符):
public static <T> boolean removeAndPrint(List<T> list, T elem) {
boolean result = list.remove(elem);
if (result == true) {
System.out.println("Item removed");
}
return result;
}