当前位置:  开发笔记 > 编程语言 > 正文

Scala是否对小型集合使用特殊实现?

如何解决《Scala是否对小型集合使用特殊实现?》经验,为你挑选了1个好方法。

不久前我在为少量元素创建集合时使用"特殊"实现阅读了Scala.例如,对于一个List只有4个元素,也有一些是像"List4",可以携带恰好有4个要素,意味着实现使用领域的固定量(类似的方式工作的元组,有Tuple1,Tuple2,Tuple3...).

1.)不幸的是,我再也找不到这些信息了.我对上面刚刚声明的内容(或许我将其与另一种语言混在一起)错了吗?

2.)我的问题的原因:在Scala中,我经常发现自己使用集合来处理最简单的事情.例如,当检查少量变量的值时,我经常做这样的事情:

def checkCoordinates(x: Int, y: Int, z: Int) = Seq(x, y, z).forall(_ >= 0)

在Java中,我从来没有这样做过.这主要是因为Scala(以及一般的函数语言)中的集合感觉更轻量级,至少在语法方面.但是,性能观点和使用集合进行简单任务的习惯如上所示(如上所示)?



1> Łukasz..:

您可以在此处看到优化集:

https://github.com/scala/scala/blob/v2.11.7/src/library/scala/collection/immutable/Set.scala

Set1,Set2,Set3Set4

地图采用了同样的方法

https://github.com/scala/scala/blob/v2.11.7/src/library/scala/collection/immutable/Map.scala

对于SeqList似乎链接列表(::)创建无论什么(未优化).

请记住,在分析显示导致应用程序性能问题之前,您不应该真正担心这类事情.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有