scala集合-collection

参考:https://www.jianshu.com/p/69bff3c7ec97

    

Scala的集合类可以从三个维度进行切分:

可变与不可变集合(Immutable and mutable collections)

静态与延迟加载集合 (Eager and delayed evaluation )

串行与并行计算集合(Sequential and parallel evaluation )

 

ransformation,集合中有大量的操作都是把一个集合“转换”成另一个集合,比如map,filter等等。而Eager和Delayed集合的区别在于:Eager集合总是立即为元素分配内存,当遇到一个transform动作时,Eager的集合会直接计算并返回结果,而Delayed集合则会尽可能晚的推迟执行,直到必须返回结果时才去执行。这一点和Spark RDD操作中的transformation和action非常类似。

在现有的集合里,只有Stream是Lasy的,所有其他的集合都是静态(Eager)加载的。但是你可以很容易地把一个静态集合转换成lazy的,那就是创建一个view

 

上一篇:第4章:动态规划


下一篇:【深入浅出.Net IL】1.一个For循环引发的IL