`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)
我是 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)