如何在java中删除arraylist中的项目时打印

问题描述 投票:-1回答:2

我基本上正在寻找某种代码或循环,我只能在删除数组列表的项目或无法找到答案时打印文本。

while (arraylist.remove()=true)
{
    //text
}

显然这段代码不起作用,但这是我想要的想法。

任何帮助表示赞赏!

java loops arraylist
2个回答
3
投票

首先,该代码片段已经是一种方式:当您的代码调用remove()方法时,您可以检查该操作的结果 - 来自其javadoc

如果此列表包含指定的元素,则返回true

当然,如果你想在移除过程中“理解”删除的东西,你可以自己实现List接口,或者扩展说AbstractList并将代码添加到各种remove()方法中。

(而且确切地说:你的示例代码不起作用的唯一原因是你正在做remove() = true但应该使用== true - 或者更好的if (someList.remove(someObj))


1
投票

您可以将以下方法添加到类中(将包含对象和对象本身的列表作为参数传递)。之后你做了正确的检查(请注意,要检查变量是否存储为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;
}
© www.soinside.com 2019 - 2024. All rights reserved.