Scala中Array和WrappedArray 的区别

2020-07-09 10:46:07 | 编辑

我接触到WrappedArray 是spark读取mongoDB,collection读取成dataset[Row]类型,子集就是一个WrappedArray[Row]类型。那Array和WrappedArray 的区别是什么?

scala.collection.mutable.WrappedArray包装一个Array以赋予它额外的功能.它还有一堆类型和描述信息,而数组只扩展了可序列化和可克隆的.这允许包装数组,因此它可以用在需要像Seq这样的通用集合类型的地方.
另外值得注意的是ArrayOps类似于WrappedArray,因为它通过额外的操作丰富了一个Array.不同之处在于,操作inArrayOps返回常规数组,而WrappedArray中的操作返回WrappedArray

ArrayOps优先于WrappedArray,因此除非需要WrappedArray提供的类型之一,否则将使用它.

 

登录后即可回复 登录 | 注册
    
关注编程学问公众号