2010-08-30 25 views
7

我正在寻找一个功能,将列表划分成固定大小的子列表,正是什么Lists.partition从谷歌收藏库没有。 我在Scala Collections API中找不到这样的方法。我错过了什么吗?斯卡拉谷歌收藏Lists.partition相当于

+1

可以Nermin或具有足够权限的人编辑帖子以修复URL吗?我相信,用urlencoded等效替换逗号或空格应该可以。 – pr1001 2010-08-30 21:50:11

+0

这恰好是重复的,但其他问题没有显示在相关链接上。 – 2010-08-30 22:31:23

回答

15

您正在查找的方法是“分组”。与分区函数的细微区别在于它返回了列表的迭代器而不是列表的列表。这可能是好的,或者您可能需要使用Iterator.toList函数将其转换为

val list = List(1, 2, 3, 4, 5) 
println(list.grouped(2).toList) //prints List(List(1, 2), List(3, 4), List(5)) 
+5

当你在它的时候,熟悉类似的'Iterable#sliding'(技术上来说,在'IterableLike'中引入)。它创建(可能)重叠的固定大小的窗口到一个序列中。 – 2010-08-30 22:36:42