`if (!cond(it.next()))` 中的 `cond` 代表什么?

What does `cond` in `if (!cond(it.next()))` stand for?

我是 Java 的新手,正在尝试学习迭代器的概念。我在 Java 教程 Oracle 中遇到过这段代码。我的问题是,if (!cond(it.next())) 中的 cond 代表什么。文档没有具体说明 cond() 代表什么。

static void filter(Collection<?> c) {
    for (Iterator<?> it = c.iterator(); it.hasNext(); )
        if (!cond(it.next()))
            it.remove();
}

cond代表"condition"。把它放在你的上下文中:

if (!cond(it.next()))

也就是说,

"if your next item in an iteration/collection doesn't match certain condition"

然后删除它:

if (!cond(it.next()))
    it.remove();

因此得名"filter"

static void filter(Collection<?> c)

cond 是一种检查您传递的参数有效性的方法。 cond 的方法由你根据情况来定义。我想教程只是写成 cond 来建议该方法应该是一个检查 "condition" 并且它 一个方法。

仅就检查条件而言,yt 不一定是方法,因为您可能有这样的检查条件:

if (it.next() != something)

cond 可以代表任何方法,您可以使用它来定义要用于集合的迭代对象 (it.next()) 以便删除的条件

 public boolean cond(Object input)