当我尝试使用内置函数list (el1,el2..)生成Scala列表元素的排列时。
是否有办法批量生成这些排列并将它们存储在某个文件中?这样它就不会耗尽内存了?
你可以这样做:
list.permutations foreach { x =>
// Save permutation to file.
}
如果您想将排列保存在更大的块中,您可以首先对排列进行分组(使用适当的块大小):
list.permutations.grouped(chunkSize) foreach { x =>
// Save chunk of permutations to file.
}
permutations方法返回的迭代器将在排列保存到文件后丢弃它们。它也是惰性的,因此在保存前一个块之前不会计算其他排列。