当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala LinearSeqOps.sliding用法及代码示例


sliding 方法(或属性)属于 scala.collection.immutable.LinearSeqOps 特性(trait),其相关用法说明如下。

用法 一

def sliding(size: Int, step: Int): Iterator[C]

通过将"sliding window" 传递给固定大小的块中的元素进行分组(而不是像在分组中那样对它们进行分区。)

在空集合上调用时,返回的迭代器将为空。当原始集合没有被它之前的窗口耗尽并且它的最后一个元素没有被它之前的步骤跳过时,迭代器产生的最后一个元素可能小于窗口大小。

值参数:

size

每组的元素数量

step

连续组的第一个元素之间的距离

返回:

如果剩余要分组的元素少于 size ,则生成大小为 size 的可迭代集合的迭代器,除了最后一个元素(可能是唯一的元素)将更小.

也可以看看:

collection.Iterator, method sliding

例子:

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))
List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

继承自:

IterableOps

源码:

Iterable.scala

用法 二

def sliding(size: Int): Iterator[C]

通过在它们上传递 "sliding window" 来将固定大小的块中的元素分组(而不是像在 grouped 中那样对它们进行分区。)

一个空集合返回一个空迭代器,一个包含少于窗口大小的元素的非空集合返回一个迭代器,该迭代器将生成原始集合作为其唯一元素。

值参数:

size

每组的元素数量

返回:

生成大小为 size 的可迭代集合的迭代器,但元素少于 size 的非空集合除外,它返回一个迭代器,该迭代器将源集合本身作为其唯一元素生成.

也可以看看:

collection.Iterator, method sliding

例子:

List().sliding(2) = empty iterator
List(1).sliding(2) = Iterator(List(1))
List(1, 2).sliding(2) = Iterator(List(1, 2))
List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

继承自:

collection.IterableOps.sliding

源码:

Iterable.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 LinearSeqOps.sliding。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。