假设我们有一些 int 值(正值和负值)的列表,并且我们的任务是仅将正值加倍。这是产生所需结果的片段:
val list: List[Int] = ....
list.filter(_ > 0).map(_ * 2)
到目前为止一切都很好,但是如果列表非常大,大小为 N 怎么办?程序是否在 filter 函数上迭代 N 次,然后在 map 函数上迭代 N 次?
scala 如何知道何时需要循环遍历列表并应用所有过滤和映射内容?如果我们通过标识函数(例如去除重复项)和应用映射函数对原始列表进行分组,将会产生什么结果(就列表遍历而言)?