【发布时间】:2012-10-05 11:38:04
【问题描述】:
不知道这是否可能,但我有一些这样的代码:
val list = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
val evens = list.filter { e => e % 2 == 0 }
if(someCondition) {
val result = evens.filter { e => e % 3 == 0 }
} else {
val result = evens.filter { e => e % 5 == 0 }
}
但是我不想对所有元素进行两次迭代,所以有没有一种方法可以创建“在这个集合上创建一个“通用的选择所有偶数”并应用一些其他函数,这样它就可以只迭代一次?
【问题讨论】:
-
在您的示例中,只会对初始列表进行一次迭代,其他过滤器将应用于新的过滤(较小)集合,您能否说明您想要实现的目标
标签: scala