加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

ArrayBuffer vs Scala中的ArrayBuilder

发布时间:2020-12-16 09:44:47 所属栏目:安全 来源:网络整理
导读:scala.collections.mutable.ArrayBuilder和scala.collections.mutable.ArrayBuffer有什么区别?例如,如果我需要构建一个可以使用的Array [Int],有没有任何性能差异,就像在java.lang.StringBuffer和java.lang.StringBuilder中一样? 解决方法 ArrayBuilder
scala.collections.mutable.ArrayBuilder和scala.collections.mutable.ArrayBuffer有什么区别?例如,如果我需要构建一个可以使用的Array [Int],有没有任何性能差异,就像在java.lang.StringBuffer和java.lang.StringBuilder中一样?

解决方法

ArrayBuilder是一个Builder,构建器旨在用于通过向其添加元素来构造其他集合。建立者通常不是直接用于客户端代码。

ArrayBuffer是一个缓冲区,Seq – 缓冲区是可以有效附加元素的序列。序列有很多辅助操作。

你可能需要一个ArrayBuffer。它意在用作Java中的ArrayList的替代品。 ArrayBuffer类是一个全功能的序列集合,其中包含所有大量数据操作,如foreach,map,filter,zip和friends,与ArrayBuilder不同,ArrayBuilder只配备了=添加元素,结果最终获得数组。

您可能希望使用ArrayBuilder的一个地方是当您将其实例化为像Int这样的原始类型,并且您关心性能时。在这种情况下,ArrayBuilder变体是针对不同的原始类型而专门设计的,并且保存一个正确的原始类型的底层数组,而ArrayBuffer总是保存下面的对象数组 – 每个添加到其中的原始体都进行拳击。

要实例化一个数组缓冲区:

new ArrayBuffer[Int] // gives you an array buffer that will hold boxed integers

要实例化数组构建器:

new ArrayBuilder.ofInt // gives you a manually specialized array builder that will hold real primitives

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读