且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将一个流分成许多

更新时间:2021-08-21 23:53:34

来自 将scala列表拆分为n个交错列表完全满足条件,稍微修改以适应Streams:

The answer from Split a scala list into n interleaving lists fully meets the conditions, a little bit modified to suit Streams:

def round[A](seq: Iterable[A], n: Int) = {
  (0 until n).map(i => seq.drop(i).sliding(1, n).flatten)
}
round(Stream.from(1),3).foreach(i => println(i.take(3).toList))
List(1, 4, 7)
List(2, 5, 8)
List(3, 6, 9)