sliding
方法(或属性)属于 scala.collection.Iterator.GroupedIterator
类(class),其相关用法说明如下。
用法:
def sliding[B >: Seq[B]](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
除了最后一个元素(可能是唯一的元素)将被截断.可以配置此行为。注意:
重用:调用此方法后,应丢弃调用它的迭代器,只使用返回的迭代器。使用旧迭代器是未定义的,可能会发生变化,并且也可能导致对新迭代器的更改。
继承自:
- collection.Iterator.sliding
源码:
- Iterator.scala
相关用法
- Scala GroupedIterator.collectFirst用法及代码示例
- Scala GroupedIterator.addString用法及代码示例
- Scala GroupedIterator.grouped用法及代码示例
- Scala GroupedIterator.mkString用法及代码示例
- Scala Tabulate.sliding用法及代码示例
- Scala ArrayBuffer.inits用法及代码示例
- Scala long.BitwiseOr用法及代码示例
- Scala StringBuilder.partitionMap用法及代码示例
- Scala List distinct()用法及代码示例
- Scala DefaultMap.sizeIs用法及代码示例
- Scala StrictOptimizedIterableOps.sliding用法及代码示例
- Scala Searching.SearchResult用法及代码示例
- Scala ::.collectFirst用法及代码示例
- Scala TreeSet diff()用法及代码示例
- Scala Char getClass()用法及代码示例
- Scala int.Min用法及代码示例
- Scala IntMap.groupMap用法及代码示例
- Scala Map3.mkString用法及代码示例
- Scala IterableOnceOps.flatMap用法及代码示例
- Scala IndexedSeqOps.lengthIs用法及代码示例
- Scala Map3.addString用法及代码示例
- Scala WrappedString.scanRight用法及代码示例
- Scala String compareToIgnoreCase()用法及代码示例
- Scala List drop()用法及代码示例
- Scala ofDouble.inits用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 GroupedIterator.sliding。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。