首页 > 解决方案 > Iterator 是 Scala 中的集合吗?

问题描述

我对 Scala 中的 Iterator 感到困惑,它是一个集合还是一种逐个访问集合元素的方法?所以如果它不是一个 Collection 那么我们如何使用 Iterator 作为 Iterator("a", "number", "of", "words") ?参考 - https://www.tutorialspoint.com/scala/scala_iterators.htm

标签: scalacollections

解决方案


我们如何[可以]将迭代器用作Iterator("a", "number", "of", "words")[即使它不是集合]?

这种语法没有什么特别之处,它只供Collections. 我们这里有一个apply方法,object Iterator它接受可变数量的参数(并返回由这些参数序列支持的 Iterator 实例):

/** Creates an iterator with given elements.
 *
 *  @param elems  The elements returned one-by-one from the iterator
 *  @return An iterator which produces the given elements on the
 *          first calls to `next`, and which has no further elements.
 */
 def apply[A](elems: A*): Iterator[A] = elems.iterator

你可以为你自己的课程做同样的事情。

这为“构建器方法”提供了一个很好的语法。


推荐阅读