0%

scala视图

scala视图

scala可以使用视图来进行懒加载操作,使得操作不会立即执行,只有使用到该结果时才会执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def even(num: Int): Boolean = {
println("开始过滤")
if (num % 2 == 0) {
true
} else {
false
}
}

val listInt: List[Int] = List(1, 2, 3)
// 使用view产生懒加载集合
val list2 = listInt.view.filter(even)
println("------")
// View(<not computed>)
println(list2)
// 只要真正使用的时候才会执行even方法
println(list2.size)