views:

159

answers:

1

I am looking for a function that will partition a list into fixed size sublists, exactly what Lists.partition from Google Collections library does. I couldn't find such method in the Scala Collections API. Am I missing something?

+9  A: 

The method you are looking for is "grouped". A slight difference from the partition function is that it returns an Iterator of Lists rather than a List of Lists. That may be fine, or you may need to convert it using the Iterator.toList function

val list = List(1, 2, 3, 4, 5)
println(list.grouped(2).toList) //prints List(List(1, 2), List(3, 4), List(5))
Dave Griffith
And while you're at it, familiarize yourself with the similar `Iterable#sliding` (technically, introduced in `IterableLike`). It creates (potentially) overlapping windows of fixed size into a sequence.
Randall Schulz