sliding
方法(或属性)属于collection.Iterator特性(trait),其相关用法说明如下。
用法:
def sliding[B >: A](size: Int, step: Int): GroupedIterator[B]
返回一个迭代器,它显示了这个迭代器的 "sliding window" 视图。第一个参数是窗口大小,第二个参数step
是每次迭代时窗口前进多远。 step
默认为 1
。
返回的 GroupedIterator
可以配置为将部分结果填充到 size
大小或完全抑制部分结果。
示例用法:
// Returns List(ArraySeq(1, 2, 3), ArraySeq(2, 3, 4), ArraySeq(3, 4, 5))
(1 to 5).iterator.sliding(3).toList
// Returns List(ArraySeq(1, 2, 3, 4), ArraySeq(4, 5))
(1 to 5).iterator.sliding(4, 3).toList
// Returns List(ArraySeq(1, 2, 3, 4))
(1 to 5).iterator.sliding(4, 3).withPartial(false).toList
// Returns List(ArraySeq(1, 2, 3, 4), ArraySeq(4, 5, 20, 25))
// Illustrating that withPadding's argument is by-name.
val it2 = Iterator.iterate(20)(_ + 5)
(1 to 5).iterator.sliding(4, 3).withPadding(it2.next).toList
值参数:
- size
每组的元素数量
- step
连续组的第一个元素之间的距离
返回:
如果剩余要分组的元素少于
size
元素,则生成大小为size
的Seq[B]
的GroupedIterator
除了最后一个元素(可能是唯一的元素)将被截断.可以配置此行为。注意:
重用:调用此方法后,应丢弃调用它的迭代器,只使用返回的迭代器。使用旧迭代器是未定义的,可能会发生变化,并且也可能导致对新迭代器的更改。
源码:
- Iterator.scala
相关用法
- Scala Iterator.grouped用法及代码示例
- Scala Iterator.addString用法及代码示例
- Scala Iterator.collectFirst用法及代码示例
- Scala Iterator.mkString用法及代码示例
- Scala Iterator filterNot()用法及代码示例
- Scala Iterator forall()用法及代码示例
- Scala Iterator find()用法及代码示例
- Scala Iterator mkString()用法及代码示例
- Scala Iterator isTraversableAgain()用法及代码示例
- Scala Iterator buffered()用法及代码示例
- Scala Iterator size()用法及代码示例
- Scala Iterator sameElements()用法及代码示例
- Scala Iterator duplicate()用法及代码示例
- Scala Iterator dropWhile()用法及代码示例
- Scala Iterator filter()用法及代码示例
- Scala Iterator toIterable()用法及代码示例
- Scala Iterator toSet()用法及代码示例
- Scala Iterator indexOf()用法及代码示例
- Scala Iterator exists()用法及代码示例
- Scala Iterator toArray()用法及代码示例
- Scala Iterator map()用法及代码示例
- Scala Iterator next()用法及代码示例
- Scala Iterator sum()用法及代码示例
- Scala Iterator slice()用法及代码示例
- Scala Iterator max()用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 Iterator.sliding。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。