我是Java新手,正在努力学习迭代器的概念。我在Java教程Oracle中遇到过这段代码。我的问题是,cond
in if (!cond(it.next()))
代表什么。文档没有指定cond()
代表什么。
static void filter(Collection<?> c) {
for (Iterator<?> it = c.iterator(); it.hasNext(); )
if (!cond(it.next()))
it.remove();
}
发布于 2016-03-07 21:26:00
cond
代表“条件”。把它放在你的上下文中:
if (!cond(it.next()))
这意味着
“如果迭代/集合中的下一项不符合特定条件”
然后移除:
if (!cond(it.next()))
it.remove();
这样你就得到了“过滤器”这个名字。
static void filter(Collection<?> c)
cond
是一种检查传递的参数有效性的方法。这取决于您根据情况定义cond
的方法。我想,本教程只是以cond
的形式编写,以建议该方法应该是一个检查“条件”,并且它是一个方法。
至于检查条件,yt并不一定是一种方法,因为您可能有这样的检查条件:
if (it.next() != something)
发布于 2016-03-07 21:36:43
cond可以表示用于定义用于集合的迭代对象(it.next())的条件的任何方法,以便删除
public boolean cond(Object input)
https://stackoverflow.com/questions/35859620
复制相似问题