我在数据库中有一组行,我想提供一个界面来像这样旋转它们:
def findAll: Iterable[MyObject]
我们不需要一次将所有实例都保存在内存中。在 C# 中,您可以使用 yield 轻松创建像这样的生成器,编译器负责将循环通过记录集的代码转换为迭代器(有点反转它)。
我当前的代码如下所示:
def findAll: List[MyObject] = {
val rs = getRs
val values = new ListBuffer[MyObject]
while ( rs.next() )
values += new valueFromResultSet(rs)
values.toList
}
有没有办法可以将其转换为不将整个集合存储在内存中?也许我可以使用 for 理解?