最近、自分でn個の要素のグループを繰り返し処理することなくコレクションを繰り返す必要があるとき、sliding(n、n)グループ化された(n)を使用してこれらのコレクションを反復する方が適切かどうか疑問に思っていました。私の質問は、パフォーマンスの面でこの特定のケースのために1つまたは別のものを使用する特別な理由があるかどうかです。あなたが「窓」を持っているとは異なる長さのものにしたいときScala:sliding(N、N)vsグループ化されたもの(N)
val listToGroup = List(1,2,3,4,5,6,7,8)
listToGroup: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8)
listToGroup.sliding(3,3).toList
res0: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6), List(7, 8))
listToGroup.grouped(3).toList
res1: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6), List(7, 8))
実装はDRYなので、あなたはパフォーマンスのためにあなたが呼び出したものではありません。 https://github.com/scala/scala/blob/v2.11.7/src/library/scala/collection/Iterator.scala#L1039 –
@ som-snytt知っておいてよかった!私はそれを更新します! – childofsoong